Можно ли ограничить все запросы к серверу одним 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 только для определенных каталогов.

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

Другие вопросы по тегам