当前位置: 首页 > 图文教程 > 网络编程 > 相关技巧 > 程序开发中的几个请不要相信

相关技巧
网站程序员如何应对web标准
一个批量编码转换及ASP/JS加解密/简繁转换的工具
php和js编程中的延迟执行效果的代码
文本文件编码方式区别
风中叶老师讲述的学习方法(学习编程的朋友需要看)
UTF8编码开发中页面空白问题的解决方法
POST与GET方法的区别简要分析
在PB中如何让用户只能修改新增的数据
即时通讯软件在网页上启动临时对话的链接代码
php和asp利用Shell.Application来执行程序的代码
用户权限管理设计[图文说明]
大型网站架构演变和知识体系
在地址栏里显示logo的实现方法
phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案
程序开发中的几个请不要相信
Web通信 分析工具 [推荐]
水晶报表 分页 的问题
页面制作统一的头尾的方法(asp+js)
xmlHttp ie6下不跨域还提示没有权限,ie8下不会有这错误
Eclipse 格式化代码时不换行与自动换行的实现方法

相关技巧 中的 程序开发中的几个请不要相信


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 29 ::
收藏到网摘: n/a

虽不算什么高深的东西,但至少也算一点点小经验,分享分享吧,如果您是高手,而且您还有点时间,那么请你耐心看完整篇文章,然后再帮忙指点指点,留下您的经验,我也好学习学习。 链接中的例子是一些脚本攻击相关的内容,有时间的朋友可以点开看看。
1.不要相信Request.QueryString:
相信在asp时代,这个问题比较严重,不信,随便到网络上找几个asp的企业站,找到这种url"view.asp?id=xxx",改成"view.asp?id=xxx or 1=1",相信你会看到不一样的东西,到了.net,应该很少了,不过上次看到有人说CSDN爆过哦,简单的解决方法是在取得数据时做数据类型验证或转换。比如:
int ViewID = 0;
if(int.TryParse(Request.QueryString["ID"], out ViewID)){
//...
}
2.不要相信maxlength:
有时候我们想客户端输入的某个值不超过一定的长度,这个时候可能就会用到input的maxlength,但maxlength能100%保证这个值的长度不超过maxlength吗?

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

显然,maxlength是不可信的,简单的解决办法是后台代码验证数据长度:
string UserName = Request.QueryString["UserName"];
if(!string.IsNullOrEmpty(UserName)&&UserName.length > x){
//...提示错误或截断数据
}
3.不要相信Hidden:
有时候我们想把些信息保存到前台页面,然后再发送回来,但是我们又不想让客户看到这个信息,于是,我们把数据放到了hidden里面,那客户提交数据时,hidden里的内容真的是我们放的内容吗?

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

这个我一时也没想到好的验证方法,暂时也没有特殊的需求说必须验证。
4.不要相信客户端验证:
比如2和3中的问题,可能有的朋友觉得,我客户端再加个验证不就OK了吗?可是,往往,客户端验证也是不安全的,首先,如果客户端禁用脚本,那客户端验证是完全失效的,另外,在脚本有效的情况下,脚本验证也是可以被篡改的。

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

以前QQ空间里可以通过这个方法免费使用黄钻模板,不知道现在还有没有。这个就没有什么好的解决办法,只能后台再验证一次。
5.不要相信编辑器:
有的时候,可能项目中要用到一些简单的编辑器,于是,我们就找到了一些编辑器,把不需要的功能(比如:编辑源码、插入图片等)剔除掉,就成了个简单的编辑器,那这样的编辑器还会有什么问题吗?

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

暂时也没有什么好的解决办法,以前找到过过滤script标签的代码,但似乎不太完美。
6.不要相信Cookie:
网站中不可避免的会使用到Cookie,但如果一不注意,小心你的Cookie成了别人的"Cookie",
http://img.ruanchen.com/"http://www.ruanchen.com/") as System.Net.HttpWebRequest;
request.Referer = "http://www.ruanchen.com/";
...
那么,这个时候你取得的Urlreferrer会是http://www.ruanchen.com/"codetitle">复制代码 代码如下:

欢迎高手不吝赐教。
示例代码下载

评论 (0) All

登陆 还没注册?