最近在从事网络安全方面的考虑,这里只看如何简单避免跨站请求伪造呢?
CSRF(Cross-site request forgery),中文名称:跨站请求伪造。
简单来说你登陆了网站A,结果没等退出又去登陆了网站B,而网站B中含有恶意请求,借着你在网站A的合法身份,一个劲的给网站A发送攻击数据。
目前最好的方法只有一种:
使用一个Token。
1. 用户访问某个表单页面。
2. 服务端生成一个Token,放在Session或者Cookie中。
3. 表单提交附带上Token参数。
4. 服务端验证表单中的Token是否与用户Session(或Cookies)中的Token一致,一致为合法请求,不是则非法请求。
Token的值必须是随机的,攻击者不能构造一个带有合法Token的请求实施攻击。
还有其它辅助手段和注意事项:
1. 尽量使用POST代替GET,这样可以确保Token的保密性
2. Referer Check;
网友评论