htaccess 异常/“除 Paypal 之外的所有内容均被拒绝”

htaccess 异常/“除 Paypal 之外的所有内容均被拒绝”

我花了一个晚上来解决这个问题,但我没找到如何解决/绕过它:-(

我在“mydomain.com/admin/”中有一个.htaccess 文件,其中包含以下内容:

<Files ~ "[^index]\.php$">
Order Allow,Deny
Deny from All
</Files>

此 .htaccess 的目标是保护所有包含的文件(例如 inc/config.php)不被直接调用。

我的问题是,我希望对 paypal 使用的通知 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$">

是唯一要遵循的规则。

答案1

<文件文件名>仅适用于文件名,不能使用路径。

文件指令文档状态:

本节中给出的指令将应用于基本名称(文件名的最后一个组件)与指定文件名匹配的任何对象。

可能的解决方案:

在目录中管理员/贝宝,创建一个 .htaccess 文件:

<Files notify.php>
  Order Deny,Allow
  Deny from All
  Allow from paypal.com
</Files>

编辑:反转拒绝和允许。

答案2

请记住,从 paypal.com 执行允许将要求访问您网站的 IP 地址的 FQDN 精确为 paypal.com,查看我的日志时,通知来自 notify.paypal.com(最后三个请求来自 66.211.170.66)我在前五天没有任何请求,因此,我无法确认它们是否都来自同一个 IP 块。

相关内容