2011-11-05 40 views
1

现在假设我有权访问我自己的服务器,以便我可以写任何我想要的index.html文件。是否有可能只允许我自己调用服务器上的一个单一的PHP脚本。例如,如果我在/var/www/目录下面的脚本:是否有可能将所有服务器请求限制为一个php脚本

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脚本。为了让他们用自己的权限执行他们的php脚本,我使用了suPHP。我试图避免user1在其index.html页面内发布以下内容的情况,并且它们执行其他人的功能。如果所有请求都通过logn.php,我可以检查用户的帐户名称/用户ID,并确保只在它们确实是该脚本的所有者时才调用它们的脚本。

+0

我相当有信心我的问题没有解决方案http://stackoverflow.com/a/9561335/654789 – puk

回答

1

各种解决方案,取决于你需要什么。

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

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

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

+0

[suPHP](http://www.suphp.org/Home.html)照顾'谁是谁'通过执行脚本作为该脚本的所有者。由于这个原因,我不能只为某些目录启用PHP。我会看看ModRewrite – puk

相关问题