为了防止csrf攻击,通常除了在cookie设置token,一般还要在表单上有一个隐藏的token。而这两个一般是由服务器传过来的,那如果这个表单上的token直接用js获取cookie上token作为其值是否安全?
// HTML 有一个隐藏域token
<input id="token" type="hidden" name="token" value="" />
// JavaScript(jQuery) js将cookie中token作为隐藏域token的值
var cookie_token = $.cookie('token');
$('#token').val(cookie_token);
// 请求时带上这个隐藏域token和cookie中的token,这样做Web是否可能遭受csrf攻击,或者其它什么安全风险?
<input type="hidden">
也会自动上传然后说下 CSRF。
CSRF 的要点:
防御 CSRF 的方式:
sameSite
csrf_token
是其中之一,SPA 里也可以在登录后单独请求一次 token,然后放 header最后说下建议。
不要问这样行不行,那样行不行。搞清楚原理,搞清楚方案的逻辑,选择合适的、可靠的方案。