security - 阻止 libwww-perl 的 Apache 规则之间的差异

标签 security apache .htaccess block

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

9年前关闭。




Improve this question




我想知道这些规则之间的区别,以及使用文件 .htaccess 阻止 libwww-perl 最有效的方法

SetEnvIfNoCase User-Agent "libwww-perl" bad_bot
Order Deny,Allow
Deny from env=bad_bot

或者
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* – [F,L]

谢谢!

最佳答案

在功能上,我认为它们大致相同,但有一些小的优点和缺点。然而,前者可能更便携,因为如果您在将来的某个时候移动站点,您将不必担心在服务器上安装 mod_rewrite。

当然,如果您有其他 mod_rewrite 规则,这对您不会有太大影响。

您还在 mod_rewrite 规则中设置了一个通配符,它​​在 SetEnvIfNoCase 中不存在。我知道这也可以在那里执行此操作,这样做可能是明智的,因为您可以捕获不同的 libwww 版本。

我确定您知道 libwww-perl 可以发送任意用户代理字符串,因此两者都不会停止确定。

关于security - 阻止 libwww-perl 的 Apache 规则之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516878/

相关文章:

windows - 如何调用 LogonUser() 以在启用 UAC 的 Windows 服务中获取不受限制的完整 token ?

linux - 我可以在运行时限制 CGI 脚本中允许我访问的文件夹吗?

PHP MySQLi 权限被拒绝但从 MySQL CLI 工作

linux - 重定向域但保留原始 url

.htaccess - 是否可以同时重定向到 ssl 和非 www?

php - 如何通过htaccess在URL中添加index.php

security - 为什么没有 Sec-WebSocket-Key1 的 WebSockets 不安全?

.net - 信任位于网络共享上的程序集

linux - 无法使用 Apache HTTP 从 OkHTTP/ALPN/Linux 客户端建立 HTTP/2 连接

linux - Apache2 cgi-bin 位置未更新