一.xss ( cross site scripting) 跨站点脚本攻击
指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.比如获取用户的Cookie,导航到恶意网站,携带木马等。
举个栗子
alert(document.cookie)
alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)alert(document.cookie)
alert(document.cookie)
XSS 漏洞修复
原则: 不相信客户输入的数据
注意: 攻击代码不一定在中<script>中
1.将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
2.只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
3.对数据进行Html Encode 处理-------例如 < "lt" > "rl"  
4.过滤或移除特殊的Html标签,
5.过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。
SQL注入攻击
SQL注入攻击的原理:
使用用户输入的参数拼凑SQL查询语句,使用户可以控制SQL查询语句。
防御方法
1.使用预编译语句,
2.绑定变量
3.使用安全的存储过程
4.检查数据类型
5.使用安全函数
建议方法:不要使用拼接的sql,使用占位符,例如使用JdbcTemplate,
下面给出一种解决方法:用下面的各种函数代替拼接sql的出现