apache2中如何防止重复请求

问题描述 投票:0回答:1

我的 Apache2 Web 服务器有问题。我有一个网站工作了一段时间,但现在发送到服务器的每个请求都有重复,并且第一个请求对用户根本不可见。我可以使用 Django 中间件使用数据库事务暂时修补此问题,仅返回第二个请求的响应,但该软件仍然在日志中显示重复的请求,发送到服务器的每个 GET 和 POST 请求都有一个重复的对应项。

我尝试了我发现的一个建议,使用modsecurity2,但它似乎不起作用,它仍然允许重复的请求通过。解决方案如下。

SecRule USER:duplicaterequest "@gt 1" "id:'40000',phase:2,deny,status:409,msg:'Duplicate Request!'"

请求相隔约 2 秒,这会导致重复对象的各种问题,并且似乎还会使页面加载时间更长。

这发生在几周前的一夜之间,代码没有任何更改。知道这可能是什么,或者解决它的方法吗?

python django apache2 mod-security2
1个回答
0
投票

我不确定我是否完全理解您的问题,但如果客户发送请求两次,则问题就在那里。也不确定这是否应该用 ModSecurity 来解决。

您的规则使用

USER
持久集合作为目标。仅当您设置该变量BEFORE时,匹配集合变量才有意义。

如果没有其他规则填充此变量(基于某些条件),那么这将永远不会匹配。在哪里设置

USER:duplicaterequest
以及如何设置?在这种情况下您想拒绝该请求吗?

© www.soinside.com 2019 - 2024. All rights reserved.