csrf和xss攻击和防御
参考:https://ke.qq.com/webcourse/index.html#cid=309236&term_id=100366590&taid=2283771550545908&vid=q14224dsmm4 (腾讯视频)
csrf 跨站请求伪造
攻击原理:冒充用户在站内的正常操作。
就是用户在淘宝登陆,然后点了攻击网站的图片,但是图片是删除淘宝网站的东西的链接或者是post提交,然后就删除成功了!
防御:使用token
增加防御:跳转才有referer,$_SERVER[‘HTTP_REFERER’]验证
modify这个插件可以伪造referer,nginx可以防盗链
跨站脚本攻击,xss带脚本提交
攻击网站可以这样获取你的信息:当用户点击诱惑图片时,到达攻击网站,攻击网站可以通过$_GET[‘PHPSESSID’]获取你的sessionId
分为两种
- 非持久性:在用户的url上加alert弹出“你是笨蛋”提示
- 持久性:伪装成表单 ,获取用户cookie,在用户提交表单同时注入了alert,保存了,然后其他用户看这个用户的留言就会有弹窗出来(例:google)
防御:
方案:过滤用户信息,保存成实体化可用函数htmlentities,同时取出来时候用html_entity_decode
转化成响应的符号
htmlspecialchars-特殊字符转化为实体
htmlentities-全部字符转化为实体
html_entity_decode-将实体转化为html
addslashes-双引号前面加斜杠
增加防御:写入sql时候运用预处理占位符