Можно ли ограничить все запросы к серверу одним PHP-скриптом?
На данный момент предположим, что у меня есть доступ к моему собственному серверу, чтобы я мог написать любой файл index.html, который я хочу. Можно ли позволить себе вызывать только один скрипт php на сервере. Например, если у меня есть следующие сценарии в /var/www/
каталог:
divideByZero.php
socialSecurityNumber.php
blowUpAlderaan.php
lindsayLohan.php
login.php
и я хочу, чтобы я мог сделать
<form action="login.php" method="post">...</form>
но нет
<form action="blowUpAlderaan.php" method="post">...</form>
Примечание: это не относится к POST
, возможно GET
или же xmlhttprequest
,
Причина, по которой мне это нужно, заключается в том, что я настраиваю веб-сайт, где клиенты хранят свою страницу index.html и сценарии php в своей учетной записи unix (на сервере). Чтобы они могли выполнять свои php-скрипты с собственными разрешениями, я использую suPHP. Я пытаюсь избежать ситуации, когда user1 выдает следующее на своей странице index.html.
<form action="user2/blowUpAlderaan.php" method="post">...</form>
и они выполняют чужую функцию. Если все запросы прошли logn.php
Я мог бы проверить имя учетной записи пользователя / идентификатор пользователя и убедиться, что он запускает только его сценарий, если он действительно является владельцем этого сценария.
1 ответ
Различные решения, в зависимости от того, что именно вам нужно.
Вы можете использовать ModRewrite для отправки всех запросов через интерфейсный контроллер. Большинство систем и сред CMS работают именно так.
Вы можете включить PHP только для определенных каталогов.
Я не совсем уверен, что вы хотите, это звучит так, как будто человеку А должно быть разрешено выполнять заданный сценарий, а человеку Б - нет. В этом случае вам сначала нужно выяснить, как ваш веб-сервер знает, кто есть кто.