如何解决仅在 .htaccess 中的特定时间允许来自特定引用者的访问
我在我的 htaccess 文件中使用此代码来阻止从特定网站到我网站的流量并且它有效:
RewriteEngine On
SetEnvIfNoCase Referer "example.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer
现在我要为这段代码设置一个时间,例如,特定网站的访问者只能在 08:00 到 17:00 访问我的网站
我试过了:
RewriteEngine On
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0800
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1700
SetEnvIfNoCase Referer " example.com " bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer
但是好像不行,访问者仍然在设置的时间戳之间被屏蔽
谢谢
罗伯特
解决方法
您不能将 SetEnv
与 RewriteRule
一起使用,因为这两个指令是两个不同 apache 模块的一部分。您可以使用 mod-rewrite
来实现您想要的:
RewriteEngine On
RewriteCond %{TIME_HOUR}%{TIME_MIN} >=0800
RewriteCond %{TIME_HOUR}%{TIME_MIN} <=1700
RewriteCond %{HTTP_REFERER} example\.com [NC]
RewriteRule ^ - [R=403,L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。