网站新闻
最新新闻
 叽里呱啦借助AI 科技…
 科技网站Gizmodo靠A…
 腾讯刘炽平:互联网…
 腾讯全球数字生态大…
 美国零售巨头同阿里…
 各位商家看过来,支付…
 星巴克终于要与阿里…
 阿里巴巴多有钱,京…
 ofo被滴滴和蚂蚁金服…
 腾讯暴跌1400亿美元…
 又一电商巨头“倒下…
您当前的位置:首页 >> 网站新闻
预防Web应用程序的漏洞
时间: 2013/2/16 10:43:54  点击: 16351
第二道防线关注于保护重要的热点,例如保护那些真正使用输入域值的代码行。

一个具体的例子就是SQL注入攻击,它们大多数会使用单引号或双引号。有些编程语言提供了对这些字符的转码机制,这样它们就能用在SQL语句中了,但是只能用来在语句中分隔值。4但是这些技术有两个问题。第一,更高级的注入技术,例如联合使用引号和转义字符,可以绕过这些机制。第二,引入转义字符会增加字符串的长度,如果结果字符串的长度超过数据库限制的话,可能会导致数据截断。

正确使用参数化命令是预防注入攻击最有效的方式。1在这种情况下,开发人员定义命令的结构,并使用占位符来代表命令的变量值。稍后,当应用程序将对应的值关联到命令上时,命令解释器会正确地使用它们而不会涉及到命令的结构。

这种技术最著名的用法是数据库的预处理语句,也被称为参数化查询。4 当应用程序创建预处理语句时,语句发送到了数据库端。应用程序使用占位符来表示查询的可变部分,占位符通常会是问号或标签。随后,每次查询执行时,应用程序都要往对应的可变部分绑定值。不管数据的内容是什么,应用程序会一直使用这个表达式作为一个值而并没有SQL代码。因此,不可能修改查询的结构。

为了确保正确使用数据,很多语言允许类型绑定。但是预处理语句本身并不能修复不安全的语句——开发人员必须正确地使用它们。例如,像传统语句一样使用预处理语句——也就是使用字符串拼接来绑定SQL查询——而不是对查询的可变部分使用占位符会导致类似的漏洞。

输出校验

在将一个进程的输出发送之前进行校验能够避免用户收到他们不应该看到
 
上一页    1234567891011  下一页  

上一篇: 马云:做搜索是为了让百度睡不着觉
下一篇: 网站流量之如何防止图片浪费空间流量技巧
宏蓝首页 网站建设 网站推广 客户案例 网站新闻 人才招聘 支付方式 网站论坛 网站地图   关于宏蓝 联系宏蓝
 
电话:020-85562980 传真:020-85563269 邮箱:service@macroblue.net
联系地址:广州市中山大道89号国家软件产业基地天河软件园华景园区12S-05 邮编:510630
版权所有 (C) 2003-2011 www.macroblue.net 网站ICP备案号:粤ICP备05020325号-8