📅  最后修改于: 2023-12-03 15:41:21.358000             🧑  作者: Mango
在使用 Ajax 进行数据请求时,可能会遭受到 CSRF(跨站请求伪造)攻击。请问以下哪些措施可以预防 CSRF 攻击?(多选)
A. 在请求参数中添加 Token 验证。
B. 在请求 header 中添加 Referer 验证。
C. 使用 https 协议。
D. 在请求 header 中添加 Origin 验证。
为了防止 CSRF(跨站请求伪造)攻击,我们可以采取以下措施:
在请求参数中添加 Token 验证。
这种方法是比较常用的防 CSRF 攻击的方法,其核心思想是在页面中生成一个 Token,然后在每次请求时带上这个 Token,服务器端根据 Token 验证请求的合法性。攻击者在不知道 Token 的情况下,是无法伪造请求的。
在请求 header 中添加 Referer 验证。
在请求 header 中添加 Referer 验证是一种比较容易实现的防 CSRF 攻击的方法。Referer 请求头表示请求来源地址,使用该方法来防止 CSRF 攻击的主要思路是在服务器端判断请求来源是否是本站点,如果不是则该请求就被视为不合法。
使用 https 协议。
使用 https 协议可以有效地防止网络中的数据被窃取、篡改等风险,同时也可以有效地防止 CSRF 攻击。使用 https 协议可以让攻击者难以劫持用户数据并篡改请求。因为所有的请求和响应都是加密的,所以攻击者也无法窃取到用户的数据。
在请求 header 中添加 Origin 验证。
Origin 验证也是一种比较常用的防 CSRF 攻击的方法,其核心思想是在每次请求时,检查请求的 Origin 是否与当前站点的 Origin 一致。如果不一致,则该请求被视为不合法。
因此,选项 A、B、C、D 都是可以采取的防 CSRF 攻击的措施。