微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅在 .htaccess 中的特定时间允许来自特定引用者的访问

如何解决仅在 .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

但是好像不行,访问者仍然在设置的时间戳之间被屏蔽

谢谢

罗伯特

解决方法

您不能将 SetEnvRewriteRule 一起使用,因为这两个指令是两个不同 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 举报,一经查实,本站将立刻删除。