Можно ли ограничить все запросы к серверу одним PHP-скриптом? - PullRequest
1 голос
/ 05 ноября 2011

На данный момент предположим, что у меня есть доступ к моему собственному серверу, чтобы я мог написать любой файл 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 Ответ

1 голос
/ 05 ноября 2011

Различные решения, в зависимости от того, что именно вам нужно.

Вы можете использовать ModRewrite для отправки всех запросов через интерфейсный контроллер. Большинство систем и сред CMS работают именно так.

Вы можете включить PHP только для определенных каталогов.

Я не совсем уверен, что вы хотите, звучит так, как будто человеку А нужно разрешить выполнять данный сценарий, а человеку Б - нет. В этом случае вам сначала нужно выяснить, как ваш веб-сервер знает, кто есть кто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...