django 如何防止apache2中的重复请求

qyzbxkaa  于 2023-10-21  发布在  Go
关注(0)|答案(1)|浏览(108)

Apache 2 Web服务器出现问题。我有一个网站工作了一段时间,但现在发送到服务器的每个请求都有一个副本,第一个请求对用户根本不可见。我可以通过使用Django中间件,使用数据库事务来临时修补这个问题,只在第二个请求时返回响应,但软件仍然在日志中显示重复的请求,每个发送到服务器的GET和POST请求都有重复的对应项。
我已经尝试了一个建议,我发现,使用modsecurity2,但它似乎不工作,它仍然让重复的请求通过。解决方案在下面。
SecRule USER:duplicaterequest "@gt 1" "id:'40000',phase:2,deny,status:409,msg:'Duplicate Request!'"
请求间隔大约2秒,这会导致各种重复对象的问题,并且似乎会使页面加载时间更长。
这是几周前发生的,没有对代码进行任何更改。你知道这可能是什么吗,或者有什么办法解决?

nfzehxib

nfzehxib1#

我不确定我是否完全理解你的问题,但如果客户端发送两次请求,问题就在那里。也不知道这是否应该解决它与ModSecurity。
您的规则使用USER持久性集合作为目标。匹配一个集合变量只有在你设置该变量BEFORE时才有意义。
如果没有其他规则填充这个变量(基于某些条件),那么这将永远不会匹配。USER:duplicaterequest在哪里设置,如何设置?在这种情况下,是否要拒绝请求?

相关问题