从中午 12:30 到凌晨 2 点阻止代理用户

时间:2021-02-28 15:24:45

标签: apache .htaccess redirect mod-rewrite url-rewriting

我想在凌晨 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 而不是全部?

非常感谢。

1 个答案:

答案 0 :(得分:2)

你能不能试试下面的,用你显示的样本写的。 在测试您的网址之前,请务必清除浏览器缓存。

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]

注意:还要立即检查这些规则集,您可以将当前时间保留在这些计时位置以进行测试,以便您可以立即检查它们是否正确工作正常与否。如果这不是上述规则中的确切名称,请相应地更改您的代理名称。