如果有人知道我的某个页面的链接,或者他们只是假设了一个假设,如http://ww.yourweb.com/index.php,这是一个普遍的假设,如果您将此链接放在DAP或其他donwload管理器上,它将下载带有源代码的文件。如何禁止用户(或黑客)直接从网络服务器下载文件?
我想阻止其他人以这种方式窃取我的代码,有没有办法呢?
如果有人知道我的某个页面的链接,或者他们只是假设了一个假设,如http://ww.yourweb.com/index.php,这是一个普遍的假设,如果您将此链接放在DAP或其他donwload管理器上,它将下载带有源代码的文件。如何禁止用户(或黑客)直接从网络服务器下载文件?
我想阻止其他人以这种方式窃取我的代码,有没有办法呢?
您的服务器配置错误,如果在Apache上运行尝试添加follwoing线在你的根(或的public_html)文件夹的.htaccess文件,看看你的服务器正常启动解析PHP文件而不是返回源代码。
AddHandler application/x-httpd-php .php
您的担心是没有根据的。如果配置正确,服务器将始终提供解析的文件,而不是未解析的PHP源文件,无论它是请求文件的浏览器还是某个下载管理器。
当一个HTTP GET请求在一个PHP资源上进行时,PHP脚本由服务器上的解释器执行,并且生成的html是提供给客户端的 - 而不是.php文件。
嗯,我还没有听说任何正在下载的正确php文件(即它的源代码而不是解析输出)的情况。
但是,如果您希望没有人能够下载某些文件,您应该查看mod_rewrite,因为它非常灵活。例如,如果您使用SMARTY,并且您不希望下载模板(因为它们可以深入了解您的网页/ cms/shop /什么 - 也就是让它更容易入侵),您可以开始用以下规则关闭:
RewriteCond %{REQUEST_URI} \.(tpl|tpl.php)$
RewriteRule .* - [F]
当然这还不够,但这是一个开始。
希望帮助;)
我们的一家(以前的)网站托管服务提供商在他们的Zeus服务器上有一个问题,它会随机显示源代码而不是解析页面。这不太好!我们不再使用它们,即使它们是该国最大的国家之一,因为这是一个暴露一切的严重问题。 – niggles 2010-05-18 00:11:21
你能告诉我如何配置它吗? – Starx 2010-05-17 22:13:04
默认的PHP/Apache配置应该没问题... – Amber 2010-05-17 22:13:42
@Starx如果对'.php'文件的请求导致PHP源代码被交付,您的服务器配置错误。您应该立即取下网站,并在serverfault.com上发布一个问题,详细说明您的服务器的确切配置。 @Amber是正确的,默认配置应该工作正常。 – 2010-05-17 22:15:03