Я создал сайт 1 год назад, используя php, когда у меня было гораздо меньше опыта. Мой учитель и я сегодня анализировали код, и, похоже, проблема безопасности. Он хочет, чтобы я исправил это, прежде чем он даст мне нужные мне очки.ограничивать доступ ко всем файлам php, кроме трех из них
У меня есть index.php
и edit.php
файла в корневом каталоге, и страница входа в /php/login.php
(который я нахожу, чтобы быть очень глупое местом, чтобы поместить файл вход в, теперь, когда я оглядываюсь на него, Я бы, вероятно, поменял бы edit.php
и login.php
, если бы я переписал свой сайт).
В принципе, я хочу, чтобы эти три файла были доступны снаружи. Я хочу, чтобы все другие php-файлы были ограничены извне, поэтому невозможно выполнить вызов ajax до /php/phpsavefile.php
вне системы (это проблема безопасности, о которой я упоминал). edit.php
делает вызов ajax до /php/savefile.php
.
Я думаю, что это то, что мне нужно, чтобы получить работу:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
<Files /index.php>
Order Allow,Deny
Allow from all
</Files>
Но как я могу добавить три файла, а не только один за <Files
и до >
?
Я также попытался второй подход:
Order Deny,Allow
Deny from all
Это не похоже на работу, потому что вызов Ajax, как представляется, запрос регулярный HTTP, так что он получает 403 ответа.
Другой подход, который я пробовал, заключался в том, чтобы помещать ограниченные php-файлы в карту, называемую «private» , в той же папке, где остается «httpdocs» (родительская папка webroot). Мой учитель рассказал мне о папке администратора, которую никто не может получить, кроме самого сайта. Я попытался в том числе ограниченных PHP файлов внутри личной папки, но это, кажется, не включать его правильно ...
Любая помощь или советы для этого новичка в .htaccess будут оценены :-)
Редактировать : комментарий
.htaccess allow access to files only from includes
Рэй сказал:
конечно, потому что они по желанию клиента. Вы не можете «разрешить клиенту» и «не разрешать клиенту» обслуживать файлы.
Я полагаю, что это правда, но как я могу предотвратить людей от вызова моего файла ajax?