2012-04-08 56 views
4

今天我在我的服务器上发现了一件奇怪的事情。 我创建了一个php文件(test.php)并在里面写了一些php代码。那我打电话给它使用为什么Apache在没有扩展名的情况下在调用文件上执行php文件

http://127.0.0.1/test 

和“test.php”执行!在没有.php的情况下如何运行test.php? 在我的根目录下没有htaccess文件来告诉apache这样做。 我想这可能会导致安全问题。我怎样才能防止它?

我的操作系统是ubuntu,web服务器是Apache2。

+0

这是如何引起安全问题的?如果有人可以访问example.com/test,他们可以访问example.com/test.php。 – JJJ 2012-04-08 09:07:14

回答

3

检查你的Apache配置(在/ etc/apache2的/网站可用/ [SITE_NAME或默认]),它可能包含mod_rewrite的指令,例如:

RewriteEngine on 
RewriteBase/
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L] 

如果你把它们注释掉以#重启apache,访问/测试没有指定扩展应该不再工作。

相关问题