我想从凌晨 12:30 到凌晨 2 点阻止 Twitterbot/1.0 代理用户,因为它整夜在凌晨 0:40 和凌晨 1:25 访问我几次,或多或少导致我的服务器宕机 1 分钟都是“奇怪的爬行访问”。
我看到这段代码表示要阻止下午 4:00 到下午 4:59 和上午 8 点的所有内容
RewriteEngine On
# Multiple hour blocks
# If the hour is 4 PM or 5 PM or 8 AM
RewriteCond %{TIME_HOUR} ^16|17|08$
# Then deny all access
RewriteRule ^.*$ - [F,L]
我不是此类代码的专家,那么如何阻止用户代理或部分 IP,而不是全部?
非常感谢。
最佳答案
您可以尝试按照您显示的示例编写以下内容吗? 请确保在测试您的网址之前清除浏览器缓存。
RewriteEngine ON
RewriteCond %{HTTP_USER_AGENT} Twitterbot/1\.0 [NC]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >=0030
RewriteCond %{TIME_HOUR}%{TIME_MIN} <=0200
RewriteRule ^ - [F,L]
注意:另外,为了立即检查这些规则集,您可以将当前时间保留在这些计时位置中以进行测试,以便您可以立即检查它们是否符合要求。工作正常与否。如果您的代理名称与上述规则中的名称不符,请相应地更改您的代理名称。
关于apache - 阻止代理用户从 12 :30am to 2 am,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66410635/