是否有可能将所有服务器请求限制为一个php脚本?


Is it possible to restrict all server requests to one php script

目前假设我可以访问我自己的服务器,因此我可以编写任何我想要的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,它可以是GETxmlhttprequest

我需要这个的原因是因为我正在建立一个网站,客户端存储他们的index.html页面和php脚本在自己的unix帐户(在服务器上)。为了允许他们以自己的权限执行php脚本,我使用suPHP。我试图避免user1在其index.html页面

中发出以下问题的情况
<form action="user2/blowUpAlderaan.php" method="post">...</form>

,然后执行其他人的函数。如果所有请求都通过logn.php,我可以检查用户的帐户名/用户id,并确保只调用他们的脚本,如果他们确实是该脚本的所有者。

不同的解决方案,这取决于你到底需要什么。

你可以使用ModRewrite通过前端控制器发送所有请求。大多数CMS系统和框架都是这样工作的。

你只能为特定的目录启用PHP。

我不太确定你想要什么,听起来好像应该允许A执行给定的脚本,而B不应该。在这种情况下,你首先需要弄清楚你的web服务器是如何知道谁是谁的。