我想在php中创建一个带验证码的登录页面。用户输入用户 - 密码和验证码后,他将登录。之后,一些会话和cookie存储在cookie中。如果有人将这些cookie导出会话并导入到命令行浏览器(如wget或elinks)并修改标题中的user-agent(并改为与之前登录过的浏览器相同),他可以使用该信息登录而无需输入用户并通过然后循环10000000次刷新我的应用程序中的页面,并在我的服务器上进行无用的处理。如何防止这种情况?
一个解决方案,我认为是存储$_SERVER['REQUEST_URI']
并将其存储在数据库中并计算每次刷新的计数器,如果点击次数超过50次,那么我发现它是攻击是防止它的另一种解决方案?
修改
它适用于此参数:session_regenerate_id(true);
答案 0 :(得分:0)
为防止这种情况,您可以使用
session_regenerate_id()
功能。 此函数可用于重新生成/更改当前会话的会话ID。例如,如果您希望每10分钟刷新一次会话ID,或者在更改与会话关联的用户的真实性状态后,这可能很有用。