我有一个从cron运行的PHP脚本,用于发送提醒电子邮件。
为了防止未经授权使用此脚本,我将以下.htaccess
文件在从2.2升级到apache之后升级到Require
指令。
<Files "reminder.php">
Require all denied
Require host localhost
Require ip 127.0.0.1
Require ip xxx.yyy.zzz.aaa
</Files>
xxx.yyy.zzz.aaa
是网络服务器的地址,相当于localhost。
虽然旧的.htaccess
文件过去有用,但这个文件并不能阻止远程浏览器的访问。我已阅读并重读所有指令文档,无法查看错误。有线索吗?这是保护设计为从cron运行的PHP脚本的最佳方法吗?
旧的.htaccess文件是:
<Files "reminder.php">
Order Deny,Allow
Deny from all
Allow from localhost
Allow from 127.0.0.1
Allow from xxx.yyy.zzz.aaa
</Files>
答案 0 :(得分:0)
我发现了问题。当我设置2.4服务器时,我明确地使用了
AllowOverride None
并没有在特定目录中覆盖它。 BTW AllowOverride
在2.2中默认为All
,在2.4中默认为None
,因此如果没有指令,我仍然会遇到同样的问题。
所以用
替换它AllowOverride All
<directory>
组内的修复了问题。现在允许.htaccess文件完成它的工作。