如何不允许用户(或黑客)直接从Web服务器下载文件?

时间:2010-05-17 22:08:10

标签: php security

如果有人知道我的某个页面的链接或只是他们做了http://ww.yourweb.com/index.php之类的假设,这是一个普遍的假设,如果你把这个链接放在DAP或其他donwload管理器上,它会下载文件,源代码里面。

我想阻止其他人以这种方式窃取我的代码,有没有办法解决这个问题?

4 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

您的服务器配置错误,如果在Apache上运行,请尝试在root(或public_html)文件夹的.htaccess文件中添加以下行,并查看服务器是否正在开始正确解析php文件而不是返回源代码。

AddHandler application/x-httpd-php .php

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

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

当然这还不够,但这是从一开始的一点。

希望有所帮助;)