我想知道这是否是一种设置令牌的安全方式,除非实际存在令牌,我生成一个令牌,并在整个应用程序和那些表单中使用它.每个会话一个令牌?
if (!isset($_SESSION['token'])) {
$data['token'] = uniqid(rand(), true);
session_regenerate_id();
$_SESSION['token'] = $data['token'];
}
Run Code Online (Sandbox Code Playgroud)
是否有必要在提交的表单上清除令牌?或者只是坚持下去,即使我提交了表格?
防止CSRF的常见方法是使用隐藏在表单中的令牌。出于好奇,这是实际上预防CSRF的唯一方法吗?人们争论不需要CSRF令牌使我发疯,我需要了解原因。我还能如何防止CSRF攻击?