Назад | Перейти на главную страницу

исключение htaccess / «запретить всем, кроме Paypal»

Вечер потратил на эту проблему и не нашел как ее решить / обойти :-(

У меня есть файл .htaccess в mydomain.com/admin/ со следующим:

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

Цель этого .htaccess - защитить все включенные файлы, например, inc / config.php, от прямого вызова.

Моя проблема в том, что я хочу сделать исключение для php-файла уведомлений, используемого PayPal. Другими словами, у меня есть файл "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$">

было единственным соблюдаемым правилом.

<Файлы имя файла> применяется только к имени файла, вы не можете использовать с ним путь.

В Документация по директивам файлов состояния:

Директивы, данные в этом разделе, будут применены к любому объекту с базовым именем (последний компонент имени файла), совпадающим с указанным именем файла.

Возможное решение:

В каталоге админ / PayPal, создайте .htaccess с помощью:

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

Редактировать: поменял местами Запретить и Разрешить.

Имейте в виду, что для разрешения от paypal.com потребуется, чтобы полное доменное имя IP-адреса, попадающего на ваш сайт, было в точности paypal.com при просмотре моих журналов, уведомления приходят с notify.paypal.com (последние три запроса поступили с 66.211. 170.66) У меня их не было за последние пять дней, поэтому я не могу подтвердить, все ли они получены из одного блока IP.