我正在尝试设置一个.htaccess文件,该文件将限制对特定文件的访问,除非请求来自同一服务器。
这是我期望的工作(但似乎没有):
<Files /some/secret/cron.php>
Order deny,allow
Deny from all
Allow from %{REMOTE_HOST}
</Files>
在这种情况下,我不能只在服务器的IP地址中进行硬编码,因为它全天都会更改/滚动到其他服务器。
您不能在 Allow from
中使用%{REMOTE_HOST}
。在如下所示的mod_rewrite
规则中使用它:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=11.22.33.44
RewriteRule cron.php$ - [F,NC]
将11.22.33.44
替换为您的 IP 地址。
你可以试试这个
SetEnvIf Remote_Addr 127.0.0.1 Allowed=1
<Files "/some/secret/cron.php">
Order deny,allow
Deny from All
Allow from env=Allowed
</Files>