一个BUG显示了IE7和IE6解析URL中中文参数能力的不同
2008-08-05 21:56
477 查看
上月终于把系统开发完,急急忙忙投入测试
在测试时出现了一个很奇怪的问题,在IE7的机子上系统运行一切正常
但到了IE6的机子上却会报告用户非法进入
报告非法是出于这样一种原因:
公司为了防止内部数据泄露,是用网页对话框的形式进行数据查看的,防止用户将客户资料拷贝走
但这样就会有一个问题,假如有权限的用户知道了该网页的URL地址
那么就可以在IE浏览器里输入地址访问,从而查看网页源文件
解决方法是在用户登陆到主页后,每打开一个新的页面前都会使用随即函数产生一组随机数
将这个随机数放入Session,并且加入新打开页面的URL参数中
新页面打开时会将URL参数中的随机数与Session里的对比,假如两个随机数不一样,就拒绝用户访问
那么为什么会在IE7的测试机器上一切正常,在IE6的机器上就会产生被拒绝访问呢(全部是合法操作的)
当时百思不得其解,因为只有判断URL的方法会抛出“非法访问”的异常,所以一直在这个方法上纠缠
后来还是带我的同事在调试了半天下找到了原因
是因为URL穿参时所有参数值可能包括中文的都必须使用Server.UrlEncode进行编码
我有几个网页传参比较多,其中有一个传Title的参数就忘记了对其进行编码
正好这个参数在随机参数之前,在没编码的情况下参数值如果是中文的话IE6解析就会出错,从而导致后面的随机数也跟着出错
抛出了用户非法访问的异常,而IE7却可以解析中文URL,所以一切正常
起因很简单,就是我少写了一个方法,找原因时又总想着IE7和IE6的不同
要不就是在URL检查方法上找,因为我的机器是IE7,所以没办法堆栈跟踪
自己粗心大意的毛病至今没改,程序一出错就堆栈跟踪,依赖惯了,当系统真正交给用户测试时
用户的机器上是不可能有源代码和Visual Studio的,根本没办法堆栈跟踪
必须手工显示出一个个变量在用户机器上测试
感觉自己在经验、应变和细心等方面还是有些不足。
最近“北京欢迎你”的视频在网上很火,确实非常好听,明星又多,呵呵~~~
网上的都不太清楚,我有高清晰版本的,想要的准备请我吃饭哈,哈哈~~~
在测试时出现了一个很奇怪的问题,在IE7的机子上系统运行一切正常
但到了IE6的机子上却会报告用户非法进入
报告非法是出于这样一种原因:
公司为了防止内部数据泄露,是用网页对话框的形式进行数据查看的,防止用户将客户资料拷贝走
但这样就会有一个问题,假如有权限的用户知道了该网页的URL地址
那么就可以在IE浏览器里输入地址访问,从而查看网页源文件
解决方法是在用户登陆到主页后,每打开一个新的页面前都会使用随即函数产生一组随机数
将这个随机数放入Session,并且加入新打开页面的URL参数中
新页面打开时会将URL参数中的随机数与Session里的对比,假如两个随机数不一样,就拒绝用户访问
那么为什么会在IE7的测试机器上一切正常,在IE6的机器上就会产生被拒绝访问呢(全部是合法操作的)
当时百思不得其解,因为只有判断URL的方法会抛出“非法访问”的异常,所以一直在这个方法上纠缠
后来还是带我的同事在调试了半天下找到了原因
是因为URL穿参时所有参数值可能包括中文的都必须使用Server.UrlEncode进行编码
我有几个网页传参比较多,其中有一个传Title的参数就忘记了对其进行编码
正好这个参数在随机参数之前,在没编码的情况下参数值如果是中文的话IE6解析就会出错,从而导致后面的随机数也跟着出错
抛出了用户非法访问的异常,而IE7却可以解析中文URL,所以一切正常
起因很简单,就是我少写了一个方法,找原因时又总想着IE7和IE6的不同
要不就是在URL检查方法上找,因为我的机器是IE7,所以没办法堆栈跟踪
自己粗心大意的毛病至今没改,程序一出错就堆栈跟踪,依赖惯了,当系统真正交给用户测试时
用户的机器上是不可能有源代码和Visual Studio的,根本没办法堆栈跟踪
必须手工显示出一个个变量在用户机器上测试
感觉自己在经验、应变和细心等方面还是有些不足。
最近“北京欢迎你”的视频在网上很火,确实非常好听,明星又多,呵呵~~~
网上的都不太清楚,我有高清晰版本的,想要的准备请我吃饭哈,哈哈~~~
相关文章推荐
- IE浏览器,URL中有中文参数,在一个页面中接收此中文参数,显示时却乱码
- angluar根据链接的url参数的不同实现显示与隐藏
- CSS hack:针对IE6,IE7,firefox显示不同效果
- CSS hack 针对IE6,IE7,firefox显示不同效果
- a标签在ie6和ie7下面换行显示问题解析
- [20081226更新(加了日文版本支持)]一个JavaScript WEB日历控件,支持IE6,FireFox,可支持不同语言版本,目前支持中文简繁,英,日语
- url带中文参数显示乱码的问题
- CSS hack:IE6,IE7,firefox显示不同效果
- CSS hack技巧之IE6,IE7,firefox显示不同效果
- 前端攻城狮学习笔记三:实现一个URI解析方法,把url里#之后的参数解析成指定的数据结构。
- 修正网页中div或ul或其他块元素在IE6,IE7,FF,Opera中显示不同的杀手锏
- jsp中获取url里中文参数,显示乱码的解决方案
- 利用Css Hack 让IE6、IE7、Firefox解析不同样式
- CSS hack 针对IE6,IE7,firefox显示不同效果
- 如何在solarwinds同一个页面显示不同设备的不同参数
- (转)写的html页面引用外部css文件的时候在IE7,IE8和FF中能正常作用,即能正常显示,可在IE6中却完全没有作用到,即css文件里的样式根本未被解析到我们的html页面,这是什么原因?
- 转 CSS hack:针对IE6,IE7,firefox显示不同效果
- 今天碰到一个URL传递中文参数到后台的乱码问题
- CSS hack 针对IE6,IE7,firefox显示不同效果
- URL参数解析成一个Json对象