今天在看一个网站源码时,发现了这个
image.png
我就在想为什么加一个隐藏的控件呢,然后去查资料:
说这个可以防范CSRF攻击,所以什么是CSRF?
CSRF简介:
跨站请求伪造,就是利用cookie对信息的保存而可以利用此用户的信息登录该网站
事例:
攻击通过在授权用户访问的页面中包含链接或者脚本的方式工作。例 如:一个网站用户Bob可能正在浏览聊天论坛,而同时另一个用户Alice也在此论坛中,并且后者刚刚发布了一个具有Bob银行链接的图片消息。设想一下,Alice编写了一个在Bob的银行站点上进行取款的form提交的链接,并将此链接作为图片src。如果Bob的银行在cookie中保存他的授权信息,并且此cookie没有过期,那么当Bob的浏览器尝试装载图片时将提交这个取款form和他的cookie,这样在没经Bob同意的情况下便授权了这次事务。
防范措施:
对于web站点,将持久化的授权方法(例如cookie或者HTTP授权)切换为瞬时的授权方法(在每个form中提供隐藏field),这将帮助网站防止这些攻击。一种类似的方式是在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
CSRF攻击依赖下面的假定:
攻击者了解受害者所在的站点
攻击者的目标站点具有持久化授权cookie或者受害者具有当前会话cookie
目标站点没有对用户在网站行为的第二授权
网友评论