1

我想在 php 中创建一个带有验证码的登录页面。用户输入用户 - 密码和验证码后,他将登录。之后,一些会话和 cookie 存储在 cookie 中。如果有人导出这些 cookie 也会话并导入到命令行浏览器,如 wget 或 elinks 并修改标题中的用户代理(并更改为与他之前登录一次的浏览器相同),他可以使用该信息登录而无需输入用户并通过然后循环 10000000 次刷新我的应用程序中的页面并在我的服务器上进行无用的进程。如何防止这种情况?我认为的一个解决方案是将其存储$_SERVER['REQUEST_URI']并存储在数据库中,如果一小时内点击次数超过 50 次,则为每次刷新计数一个计数器,然后我检测到它是一种攻击,是另一种防止它的解决方案吗?

编辑: 它适用于这个参数:session_regenerate_id(true);

4

1 回答 1

0

To prevent this you can use

session_regenerate_id()

function. This function can be used to regenerate/change the session ID of the current session. This might be useful if, for example, you want to refresh the session ID every 10 minutes or after changing the state of authenticity of a user associated with a session.

于 2013-04-25T12:15:43.697 回答