如何使用jQuery在每个Ajax请求上重新生成会话令牌?

时间:2014-03-02 20:12:35

标签: javascript php jquery ajax

我有一个PHP应用程序,其中包含一些jQuery和Ajax功能。我想知道,在每次Ajax请求(不加载页面)时,如何重新生成会话令牌 - 我发送以验证Ajax请求?

我在页面上有更多运行多个Ajax查询的元素,但是此时它们都获得相同的标记。因此,如果某人有tokey,他们可以从其他表格中提交伪造请求。

2 个答案:

答案 0 :(得分:0)

在客户端生成令牌毫无意义。您不能相信来自客户端的任何内容,因为您不知道它是您发送请求的客户端软件还是恶意请求。 您必须创建与ajax可能请求一样多的令牌,并为每个响应返回一个新令牌。

答案 1 :(得分:0)

您应该在服务器端为每个用户或每个会话生成一个CSRF令牌。您可以将其存储在数据库或会话中。您应该将该令牌发送到您的客户端,并使用ajax请求等待它。它将一直有效,直到您的网站不是XSS易受攻击...

确保您的应用程序安全的第一步是使用HTTPS协议...