puk*_*puk 7 php permissions login suphp
如何将登录类似功能设计为使用suPHP的文件权限.例如,如果我有一个网站www.example.com和以下两个用户拥有自己的主目录,每个用户都有一个php脚本test.php,并且该validateUser.php脚本属于目录中的另一个用户(root,www-data,apache ...)/home.
/home/
??? validateUser.php
??? user1
? ??? test.php
??? user2
??? test.php
user1可以user2's通过访问访问脚本www.example.com/user2/test.php,反之亦然.相反,我想要的,是渠道的所有传入的请求,使用类似mod_rewrite的,对validateUser.php.但是,这样做会导致执行所有脚本作为validateUser.php目标test.php脚本的所有者,而不是目标脚本.
无论如何在suPHP启动之前调用php脚本,然后允许suPHP继续,或完全中止.
编辑这是我提出的第二个赏金.我给Gustav的第一个b/c他给出了一个很好的部分答案.我会提到我到目前为止所尝试的内容,以及为什么它们都不适合我.
1)我尝试使用mod_rewrite将URL重定向validateUser.php到登录用户,或者调用他们想要调用的任何脚本.问题是,我已经把我的虚拟主机,使得每个用户都有自己的虚拟站点(即www.user1.example.com,www.user2.example.com......如果这是一个不好的设计方法,随意粗暴地指出来).因此,虽然OS看到如上所述的文件结构,但在线,根目录也是这样设置的
VirtualHost = www.user1.example.com
??? validateUser.php
??? test.php
VirtualHost = www.user2.example.com
??? validateUser.php
??? test.php
Run Code Online (Sandbox Code Playgroud)
当然,我只是将一份副本移动validateUser.php到每个用户的目录中.问题是现在用户可以删除该文件并在其中放置他们想要的任何内容,就像根本不需要登录一样.解决这个问题的方法是使主文件夹变粘(不是我建议对主文件夹执行的操作)并使validateUser.phproot拥有.但现在它将执行AS root,因为这是suPHP.这就是我放弃的地方.
2)我可以使用古斯塔夫的mod_auth建议,但我不喜欢它预先要求密码(如旧学校网站).
3)我已经考虑了1)的变体,如果我可以在虚拟主机之间重定向.例如,像这样重构虚拟主机
VirtualHost = www.user1.example.com
??? test.php
VirtualHost = www.user2.example.com
??? test.php
VirtualHost = www.admin.example.com
??? validateUser.php
Run Code Online (Sandbox Code Playgroud)
然后使用mod_rewrite将用户的所有流量重定向到www.admin.example.com/validateUser.php,如果用户已登录(或登录成功),用户将被重定向回他们最初尝试登录的站点.如果可能的话,这样做的好处是,在用户被引导回他们自己的虚拟主机之前,suPHP不会启动.
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |