虽然你的网站使用了很多先进的技术,但是如果网站安全性不足以保护网站数据,甚至成为恶意程序的寄生温床,那么不管你堆了多少前面所有的好事都变成了白费。SQL注入在众多的安全漏洞中,SQL注入绝对是最严重但也是最好对付的一个。当数据库执行查询语句时,如果恶意用户给的参数直接拼接在查询语句上,就有可能发生。例如,假设某网站登录验证的原始查询语句是这样的:strSQL="SELECT*FROMusersWHERE(name='"+userName+"')and(pw='"+passWord+"');"而恶意用户输入的参数是:userName="1'OR'1'='1";passWord="1'OR'1'='1";由于代码直接将参数和查询语句拼接成字符串,所以SQL变成了这样:strSQL="SELECT*FROMusersWHERE(name='1'OR'1'='1')and(pw='1'OR'1'='1');"//相当于strSQL="SELECT*FROMusers;"这样一来,账号密码就没有用了,甚至可以得到整个数据库的结构(SELECT*FROMsys.tables),随意修改查询数据,整个网站的数据全部泄露。但是,解决方法也很简单。只要采用参数化查询,避免直接将参数与查询语句拼接,适当的输入检查,插入转义符,严格设置程序权限,就可以有效避免SQL注入。XSSXSS(跨站攻击),也称为JavaScript注入,是现代网站中最常见的问题之一。是指网站被恶意用户植入了其他代码。通常发生在网站将用户输入的内容直接放入网站内容中。小时。例如论坛、留言板等可以输入任意文本的网站,如果恶意用户编写了一个简短的的跨域特性可以直接使用浏览器用户的cookie;攻击者只需要在网页中通过看起来很吓人,那怎么解决呢?除了前面提到的CSRFToken,许多大公司还采用了另一种有趣的解决方案。即API的响应内容以for(;;);开头,同样利用了
