Разрешения .htaccess, чтобы остановить выполнение сценариев php из внешнего мира - PullRequest
1 голос
/ 07 марта 2011

Я настраиваю новый веб-сайт, и в настоящее время, если я зайду на mydomian/php/someScript.php, он выполнит скрипт php Как я могу разрешить файлам, которые включают это, все еще включать это, но не позволять кому-либо еще выполнять эти сценарии из браузера. В настоящее время у меня есть это в моем файле .htaccess:

deny from all

но когда я захожу на сайт, в эту папку поступает пост-запрос AJAX, который возвращает ошибку 403.

Любые идеи о том, как этого добиться, приветствуются.

==== EDIT ====

для ясности, некоторые файлы в каталоге php запрашиваются AJAX, и теперь мне известно, что эти файлы не могут иметь желаемых разрешений. Однако я все еще хотел бы поместить эти разрешения в другие файлы в этом каталоге

Спасибо

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Лучшее решение - поместить их вне корневого веб-каталога, если это возможно, таким образом, вы можете включить их, но веб-сервер не сможет их обслуживать, в этом случае настройка вообще не требуется.

РЕДАКТИРОВАТЬ: я заметил, что вы хотите разрешить доступ к сценариям с помощью AJAX.Невозможно сделать это, так как нет никакой возможности определить разницу между запросом AJAX или другим типом запроса HTTP с какой-либо надежностью.

1 голос
/ 07 марта 2011

Вы все еще можете включить эти файлы из php, например используя include или require.

Вызов через AJAX ничем не отличается от вызова через ввод URL в браузере - то есть вы не можете заблокировать прямой доступ, но разрешить доступ AJAX.

...