如何在Apache服务器(和其他服务器)上检测PHP中对.htaccess的支持
出于安全原因,我需要检查客户端是否无法读取目录,即Apache服务器是否支持如何在Apache服务器(和其他服务器)上检测PHP中对.htaccess的支持,php,apache,.htaccess,nginx,lighttpd,Php,Apache,.htaccess,Nginx,Lighttpd,出于安全原因,我需要检查客户端是否无法读取目录,即Apache服务器是否支持.htaccess(Apache配置文件中的noAllowOverride None)。这非常重要,因为我最近发现很多产品和框架都没有检查这一点(包括Zend和Symphony)。有没有一种方法可以只使用PHP检查这一点 顺便说一句,如果我错了,请纠正我,但其他服务器(nginx或lighttpd)似乎不支持.htaccess。在这些情况下,如何检查我的目录是否不可被客户端读取?您可以在htaccess中设置一个变量,然
.htaccess
(Apache配置文件中的noAllowOverride None
)。这非常重要,因为我最近发现很多产品和框架都没有检查这一点(包括Zend和Symphony)。有没有一种方法可以只使用PHP检查这一点
顺便说一句,如果我错了,请纠正我,但其他服务器(nginx或lighttpd)似乎不支持
.htaccess
。在这些情况下,如何检查我的目录是否不可被客户端读取?您可以在htaccess中设置一个变量,然后从PHP中访问它。这将告诉您是否正在使用htaccess(并且setenif模块正在运行)。但它不会告诉你更多——例如,它不会告诉你是否可以使用mod_重写。要知道哪些模块正在运行,您可以通过编程方式检查phpinfo的输出。您可以通过检查文件是否可读(“.htaccess”)
print\r(apache\u get\u modules())
将向您显示加载的apache模块。也许您可以上载包含以下内容的.htaccess文件:
Options -Indexes
然后尝试访问有问题的目录,
如果它们不可访问,则可以使用
如果没有,你的主人应该能够帮助你轻松完成这项任务
您所在的平台。所有的回答似乎都很有趣,但。。。我勒个去?!为什么没有简单的解决方案来询问PHP目录是否得到了很好的保护?!