有没有办法防止恶意连续创建PHP会话导致磁盘耗尽?

时间:2017-08-19 06:38:17

标签: php security backend session-state

假设您获得了一个页面 public void CloseConnections() { foreach (var connection in connectionrepositroylist) { try { if (connection.State == System.Data.ConnectionState.Open) // check other conditions { connection.Close(); } } catch (Exception) { //logging or special handling } } } ,其中包含一个表单,您需要在后端启动一个会话,至少保留一个csrf令牌以在提交表单时进行验证。因此,如果获得index.php并且没有有效会话ID cookie的每个新用户都会生成一个新会话,那么是什么阻止我每3秒钟设置一次请求占用服务器磁盘空间?默认情况下,会话甚至不会被视为垃圾收集,直到24分钟。这给了我每24分钟周期480个请求,如果每个会话是4kb,那么我每24分钟可以占用1,920,000个字节(~2mb)。

如何缓解?请帮忙。

1 个答案:

答案 0 :(得分:1)

虽然我不确定2MB / 24分钟会如何耗尽您的容量,但您可以每分钟左右手动拨打gc并降低maxlifetime