如何巧妙防护Web攻击

如何巧妙防护Web攻击?网络安全问题对于开发者而言也是十分重要的课题,那么笔者也总结了几点关于Web攻击的常见状况及分析。
1. CSRF (cross-site request forgery)跨站请求伪造
一句话归纳:当用户浏览器同时打开危险网站和正常网站,危险网站利用图片隐藏连接,或者js文件操纵用户生成错误请求给正常网站。此时由于用户会携带本身的session验证。危险网站发出的请求得以执行。
根本缘由:web的隐式身份验证机制。
解决办法:为每个提交的表单生成一个随机token, 存储在session中,每次验证表单token,检查token是否正确。
2. XSS (cross site script)跨站脚本攻击
一句话归纳:网站对提交的数据没有转义或过滤不足,致使一些代码存储到系统中,其余用户请求时携带这些代码,从而使用户执行相应错误代码。web

例如在某论坛评论中发表:
<script>alert('hacked')</script>
这样的话,当其余用户浏览到这个页面,这段js代码就会被执行。固然,咱们还能够执行一些更严重的代码来盗取用户信息。
解决办法:转移和过滤用户提交的信息浏览器

 

3. session攻击,会话劫持
一句话归纳:用某种手段获得用户session ID,从而冒充用户进行请求。
缘由:因为http自己无状态,同时若是想维持一个用户不一样请求之间的状态,session ID用来认证用户。
三种方式获取用户session ID:
预测:PHP生成的session ID足够复杂而且难于预测,基本不可能;
会话劫持: URL参数传递sessionID; 隐藏域传递sessionID;比较安全的是cookie传递。但一样能够被xss攻击取得sessionID。
会话固定: 诱骗用户使用指定的sessionID进行登陆,这样系统不会分配新的sessionID。安全

如何巧妙防护Web攻击?防护方法:每次登录重置sessionID,设置HTTPOnly,防止客户端脚本访问cookie信息,阻止xss攻击,关闭透明化sessionID以及user-agent头信息验证和token校验。
 cookie

相关文章
相关标签/搜索