我在这个问题上度过了我的傍晚,我没有find如何解决/绕过它:-(
我在“mydomain.com/admin/”中有一个.htaccess文件,内容如下:
<Files ~ "[^index]\.php$"> Order Allow,Deny Deny from All </Files>
这个.htaccess的目标是保护所有包含的文件,例如inc / config.php,不被直接调用。
我的问题是,我想为贝宝使用的通知PHP文件例外。 换句话说,我有一个文件“mydomain.com/admin/paypal/notify.php”,我希望允许paypal.com执行它。
我尝试了十分之一的东西,因为在.htaccess中添加了“文件”授权
<Files /admin/paypal/notify.php> Order Deny,Allow Deny from all Allow from paypal.com </Files>
但成功: – (
仿佛
<Files ~ "[^index]\.php$">
是唯一遵循的规则。
<Files filename >只适用于一个文件名,你不能使用它的path。
Files指令文档指出:
本节中给出的指令将应用于任何具有与指定文件名匹配的基本名(文件名的最后一个组件)的对象。
解决方法:
在目录admin / paypal中 ,创build一个.htaccess文件:
<Files notify.php> Order Deny,Allow Deny from All Allow from paypal.com </Files>
编辑:颠倒拒绝和允许。
请记住,从paypal.com做一个允许将要求您的网站的IP地址的FQDN是正确的paypal.com,而通过我的日志看,通知来自notify.paypal.com(最后三个请求来自66.211。 170.66)前五天我没有,所以我不能确定它们是否来自同一个IP块。