gpt4 book ai didi

apache - 如何在 Apache 中阻止特定的用户代理

转载 作者:行者123 更新时间:2023-12-03 16:40:31 26 4
gpt4 key购买 nike

我正在配置我的 Django 应用程序以通过电子邮件向我发送错误(异常(exception))。

通常没问题 - 但我的电子邮件托管在 Office 365 上,似乎 Microsoft 正在自动扫描和加载电子邮件中的 URL。

结果是它访问了我的 Django 应用程序中的 URL,并导致另一个错误......和另一封电子邮件。最终结果:一个迷人的小邮件循环,它在几秒钟内向我发送了 50 多条消息。

我在我的 apache 日志中发现了这样的条目:

157.55.39.163 - - [22/Aug/2018:17:30:05 +0000] "GET /testerror HTTP/1.1" 500 5808 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b"

我想阻止访问用户代理(包含“BingPreview”),所以我可以防止这个循环。

我把它放到我的虚拟主机中:
SetEnvIf User-Agent "^.*BingPreview.*$" bad_user

<Directory /path/top/my/app/>
<Files wsgi.py>
Require not env bad_user
</Files>
</Directory>

但是当我重新加载 apache 时,出现错误 negative Require directive has no effect in <RequireAny> directive .

最佳答案

搞清楚了感谢您的提示,@Tobias K。

我启用了 mod_rewrite,因为它尚未启用。

a2enmod rewrite

然后我把它放到我的虚拟主机中:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*BingPreview.*$
RewriteRule . - [R=403,L]

并重启apache生效:
service apache2 restart

我可以在 apache 日志中看到 BingPreview 被阻止(注意 403):
157.55.39.163 - - [22/Aug/2018:18:12:09 +0000] "GET /testerror HTTP/1.1" 403 4385 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b"

关于apache - 如何在 Apache 中阻止特定的用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com