如果我没有使用会话cookie,如何检查CSRF令牌服务器?

时间:2013-11-03 07:02:55

标签: php jquery session cookies csrf

在我们当前的项目中,我们使用cookie实现持久会话。当用户登录会话时,会生成哈希并通过用户cookie发送。在使用数据库中相应会话条目检查的每个页面加载上,并对用户进行身份验证。

过去如果我必须进行csrf令牌检查,我通常会为特定会话确定一个会话变量。并且在每个后续的ajax调用中,我将使用会话变量匹配在ajax请求中作为自定义头发送的csrf令牌。

然而,对于目前的项目,我找不到合适的方法来做到这一点。可以创建安全散列,可以将其添加为自定义标头或隐藏输入字段,甚至可以添加为ajax请求中的参数。但是我如何在客户端验证它?

暂时我正在做str_rot13(base64_encode(some_secret_key))之类的事情并将其作为csrf令牌发送。

然后在服务器端我正在反向,获取secret_key并将其与我为我的应用程序配置的密钥匹配。然而,这对我来说似乎并不安全。我曾想过使用openssl_random_pseudo_bytes(32) , openssl_random_pseudo_bytes(16) etc..但是再次,这就是我将要生成的哈希。我如何在服务器端验证它?!

鉴于我所关注的用户身份验证机制,我可以采用哪些最佳做法?

0 个答案:

没有答案