-
XSS:全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序,很多钓鱼网站都是这样的。
解决:可以对输入的字符进行转义处理。 -
SQL注入:通过sql命令伪装成正常的http请求参数,传递到服务器端,服务器执行sql命令造成对数据库进行攻击.
解决:
- 可以使用java的预编译语句,使用占位符而不使用拼接sql的方式
- ORM做转义
- 最坏的打算,以防就算被“脱裤”了也不至于关键信息外漏,可以将关键信息加密,不采用明文保存,比如采用加盐再MD5的方式
- CSRF:全称是跨站请求伪造(cross site request forgery),指通过伪装成受信任用户的进行访问,通俗的讲就是说我访问了A网站,然后cookie存在了浏览器,然后我又访问了一个流氓网站,不小心点了流氓网站一个链接(向A发送请求),这个时候流氓网站利用了我的身份对A进行了访问。
解决:
- 之所以被攻击是因为攻击者利用了存储在浏览器用于用户认证的cookie,那么如果我们不用cookie来验证不就可以预防了。所以我们可以采用token(不存储于浏览器)认证。
- 通过referer识别,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。那么这样的话,我们必须登录银行A网站才能进行转账了。