我试图使用表单密钥方法csrf protection
这里http://net.tutsplus.com/tutorials/php/secure-your-forms-with-form-keys/。但它仅适用于页面上的一个表格。我的问题是csrf的保护
假设我有一个形式
<form action="action.php" method="post">
<!-- code here -->
</form>
和我的PHP我使用
<?php
if(isset($_POST['submit']) && isset($_SESSION['user']))
{
//do something
}
我已经使用session user
确认他是否已登录并和形式由我的网站提交,因为会议已在我的网站上进行。我是否也必须使用csrf保护方法?
假设我使用会话方法,其中我生成一个表单键,并将密钥发送到PHP验证的地方。现在的问题是,如果在两个选项卡中打开同一页面,并且我刷新新页面并关闭它。 '会话变量改变'。现在,当我提交第一个选项卡上的表单。它总是会出错。有时候用户会这样'在2个选项卡中打开相同的页面'。是否还有其他安全的csrf保护方法? – Ace
@ user2894116 - 创建会话时生成令牌,而不是每次加载表单时都生成令牌。 – Quentin
@Jack道歉! 。这个ajax方法需要很多代码,因为我的页面上有很多表单。这里用其他方式代码少,安全性相同吗? – Ace