开发者社区> zting科技> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Web开发..请不要相信...

简介:
+关注继续查看

出处请不要相信...

很久没有上来发文章了,不过最近博客园上风声很紧啊,有啥东西,也不敢随便往首页放啊,今天冒死放到首页,虽不算什么高深的东西,但至少也算一点点小经验,分享分享吧,如果您是高手,而且您还有点时间,那么请你耐心看完整篇文章,然后再帮忙指点指点,留下您的经验,我也好学习学习。链接中的例子是一些脚本攻击相关的内容,有时间的朋友可以点开看看。

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吗?请点击链接看看例子

显然,maxlength是不可信的,简单的解决办法是后台代码验证数据长度:
string UserName = Request.QueryString["UserName"];
if(!string.IsNullOrEmpty(UserName)&&UserName.length > x){
 //...提示错误或截断数据
}

3.不要相信Hidden:

有时候我们想把些信息保存到前台页面,然后再发送回来,但是我们又不想让客户看到这个信息,于是,我们把数据放到了hidden里面,那客户提交数据时,hidden里的内容真的是我们放的内容吗?请点击链接看看例子

这个我一时也没想到好的验证方法,暂时也没有特殊的需求说必须验证。

4.不要相信客户端验证:

比如2和3中的问题,可能有的朋友觉得,我客户端再加个验证不就OK了吗?可是,往往,客户端验证也是不安全的,首先,如果客户端禁用脚本,那客户端验证是完全失效的,另外,在脚本有效的情况下,脚本验证也是可以被篡改的。请点击链接看看例子

以前QQ空间里可以通过这个方法免费使用黄钻模板,不知道现在还有没有。这个就没有什么好的解决办法,只能后台再验证一次。

5.不要相信编辑器:

有的时候,可能项目中要用到一些简单的编辑器,于是,我们就找到了一些编辑器,把不需要的功能(比如:编辑源码、插入图片等)剔除掉,就成了个简单的编辑器,那这样的编辑器还会有什么问题吗?请点击链接看看例子

暂时也没有什么好的解决办法,以前找到过过滤script标签的代码,但似乎不太完美。

6.不要相信Cookie:

网站中不可避免的会使用到Cookie,但如果一不注意,小心你的Cookie成了别人的"Cookie",请点击链接看看例子
取Cookie和写Cookie的js方法是在网上找到的,具体链接也找不到了。解决办法,似乎是Cookie加密(当然,即使是加密了,也尽量不要把敏感数据放到Cookie中),不知道各位高手还有没有其它好办法。

7.不要相信Request.UrlReferrer:

如果有朋友用这个来验证请求,那么请注意了,这个东西也是不可信的。见代码;
System.Net.HttpWebRequest request = System.Net.WebRequest.Create("http://www.cnblogs.com/") as System.Net.HttpWebRequest;
request.Referer = "http://www.cnblogs.com/";
...

那么,这个时候你取得的Urlreferrer会是http://www.cnblogs.com/,但这个请求却是伪造的。


8.不要相信用户

用户就是你潜在的威胁,客户端的东西,永远都不要轻信。

另,select标签的内容也是不可信的,大家可以动手试试,随便建个页面,里面放个select,然后:

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

 

http://www.yomeier.com/,最近发布的一个项目,主要销售品牌化妆品和行货手机,有需要的朋友可以看看。

最近需要针对这个项目学习点SEO和网站推广方面的知识,不知道园子里有没有这方面的高手可以指点一下,万分感谢!

 


本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2010/09/29/1838070.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【今日推荐】移动 Web 开发的10个最佳 JavaScript 框架
  选择正确的 JavaScript 框架,对于开发移动 Web 应用程序是至关重要的,也是移动应用程序开发的一项重要任务。开发人员可以使用框架实现的功能高效地达到他们的开发目标。这些预实现的组件采用优秀的设计模式和最佳实践,促进应用程序以标准化的方式开发。
1702 0
移动 Web 开发的10个优秀 JavaScript 框架
选择正确的 JavaScript 框架,对于开发移动 Web 应用程序是至关重要的,也是移动应用程序开发的一项重要任务。开发人员可以使用框架实现的功能高效地达到他们的开发目标。这些预实现的组件采用优秀的设计模式和最佳实践,促进应用程序以标准化的方式开发。最重要的是,它让开人员在开发过程中得心应手。
0 0
Web开发——服务器端应用技术简单比较
在开发动态网站时,离不开服务器端技术,服务器端技术主要有CGI、ASP、PHP、ASP.NET和JSP。
0 0
蓝桥杯web开发组模拟题—给页面化个妆
我们都知道,蓝桥杯是近几年特别火的一个竞赛,同时,我也看到了越来越多的人在程序设计组竞争,那么,有没有竞争稍微弱一点的组别呢!怀着期待,十二届蓝桥杯大赛增加了web开发组,也就是说今年是第一届web开发组赛事,所以说竞争不大哦!你还在犹豫吗!快来跟着博主一起打卡学习吧!
0 0
蓝桥杯web开发-5道模拟题让你信心满满
距离蓝桥杯已经不到5天了,今天总结一下做过的5道简单的web开发组模拟题来增加信心,你只管努力学习,剩下的交给天意!
0 0
PHP开发人员对JAVA的WEB开发入门(初版-基础知识)
最近准备对其他部门PHP开发的童鞋做一个对JAVA的培训。知己知彼,百战不殆,我要先了解点PHP,才能确认他们的基础,达到好的授课效果。 PHP(原始为Personal Home Page的缩写,后正式更名为Hypertext Preprocessor超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言,Java和Perl的特点,利于学习,适用于Web开发领域。
0 0
移动web开发问题和优化小结
移动web开发问题和优化小结
0 0
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 上
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 上
0 0
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 下
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 下
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
从Web到Cloud App——YunOS Web App 开发经验分享
立即下载
Web应用系统性能优化
立即下载
Serverless 开发实战--十分钟上线一个 Web 应用
立即下载