0

好的,所以我已经像这样设置了 .htaccess :

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ index.php

如您所见,我正在解析除文件以外的所有内容以建立索引,因为我需要“包含” php 文件并显示图像。

如果用户输入例如 www.site.com/login.php 将显示登录 php 页面。

如何防止访问 php 页面但也允许“包含”它们?

4

3 回答 3

1

将它们移到文档根目录之外。它们可以从那里安全地包含在内,但不能通过网络访问。

于 2013-01-24T02:07:18.977 回答
0

如果你想走那条路(外部的 webroot 建议是正确的!)那么你可以使用这样的规则(见regexnegative lookahead):

 RewriteRule ^(?!index).+\.php$ - [F]

那是草率的,因为它允许index2.phpindexdir/xyz.php仍然允许;它只是阻止任何不是index*.php的东西被访问。确保也禁止.cgi.phtml如果.tpl需要。

于 2013-01-24T02:19:04.910 回答
0

如果我理解这个问题,如果未登录,您是否不允许用户访问其他文件?如果是这样,您可以使用 php 会话设置他们登录的变量,否则重定向到索引

(如果我理解这个问题)

于 2013-01-24T02:18:57.187 回答