阻止访问php页面

时间:2013-01-24 02:06:39

标签: php file .htaccess

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

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

所以你可以看到我正在解析除索引之外的所有索引,因为我需要“包含”php文件并显示图像。

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

如何阻止访问php页面,还允许“包含”它们?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

(如果我理解这个问题)

答案 2 :(得分:0)

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

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

这样的草率会使index2.phpindexdir/xyz.php仍然存在;它只会发现任何不是index * .php的内容。如果需要,请务必同时禁止.cgi.phtml.tpl