是否可以将所有服务器请求限制为一个PHP脚本

时间:2011-11-05 10:21:45

标签: php apache suphp

目前假设我可以访问自己的服务器,因此我可以编写任何我想要的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,并确保只有在他们确实是该脚本的所有者时才调用他们的脚本。

1 个答案:

答案 0 :(得分:1)

各种解决方案,具体取决于您的需求。

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

您只能为特定目录启用PHP。

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