2010-05-17 32 views

回答

1

您的服务器配置错误,如果在Apache上运行尝试添加follwoing线在你的根(或的public_html)文件夹的.htaccess文件,看看你的服务器正常启动解析PHP文件而不是返回源代码。

AddHandler application/x-httpd-php .php 
7

您的担心是没有根据的。如果配置正确,服务器将始终提供解析的文件,而不是未解析的PHP源文件,无论它是请求文件的浏览器还是某个下载管理器。

+0

你能告诉我如何配置它吗? – Starx 2010-05-17 22:13:04

+0

默认的PHP/Apache配置应该没问题... – Amber 2010-05-17 22:13:42

+1

@Starx如果对'.php'文件的请求导致PHP源代码被交付,您的服务器配置错误。您应该立即取下网站,并在serverfault.com上发布一个问题,详细说明您的服务器的确切配置。 @Amber是正确的,默认配置应该工作正常。 – 2010-05-17 22:15:03

0

当一个HTTP GET请求在一个PHP资源上进行时,PHP脚本由服务器上的解释器执行,并且生成的html是提供给客户端的 - 而不是.php文件。

0

嗯,我还没有听说任何正在下载的正确php文件(即它的源代码而不是解析输出)的情况​​。

但是,如果您希望没有人能够下载某些文件,您应该查看mod_rewrite,因为它非常灵活。例如,如果您使用SMARTY,并且您不希望下载模板(因为它们可以深入了解您的网页/ cms/shop /什么 - 也就是让它更容易入侵),您可以开始用以下规则关闭:

RewriteCond %{REQUEST_URI} \.(tpl|tpl.php)$ 
RewriteRule .* - [F] 

当然这还不够,但这是一个开始。

希望帮助;)

+0

我们的一家(以前的)网站托管服务提供商在他们的Zeus服务器上有一个问题,它会随机显示源代码而不是解析页面。这不太好!我们不再使用它们,即使它们是该国最大的国家之一,因为这是一个暴露一切的严重问题。 – niggles 2010-05-18 00:11:21

相关问题