Http 有没有办法下载PHP/ASP/任何源代码而不将其作为纯文本处理?

Http 有没有办法下载PHP/ASP/任何源代码而不将其作为纯文本处理?,http,web,security,Http,Web,Security,假设是URL。如果我在浏览器地址栏上键入此URL,就会执行PHP代码,并将其输出返回给我。好的但是,如果我不执行它,而是想以纯文本的形式查看它的源代码呢。有没有办法发出这样的请求 我相信一定有办法,我担心的是一些局外人可能会通过猜测敏感代码的位置来检索敏感代码,比如配置文件。例如,Joomla instalations的根文件夹上有一个configuration.php。如果有人以纯文本形式检索此类文件,则这些数据库凭据已严重受损。显然,这可以通过适当的权限来防止,但是发出0777是很常见的,因

假设是URL。如果我在浏览器地址栏上键入此URL,就会执行PHP代码,并将其输出返回给我。好的但是,如果我不执行它,而是想以纯文本的形式查看它的源代码呢。有没有办法发出这样的请求


我相信一定有办法,我担心的是一些局外人可能会通过猜测敏感代码的位置来检索敏感代码,比如配置文件。例如,Joomla instalations的根文件夹上有一个
configuration.php
。如果有人以纯文本形式检索此类文件,则这些数据库凭据已严重受损。显然,这可以通过适当的权限来防止,但是发出
0777
是很常见的,因为所有的东西都有权限,而忘记了拒绝访问。

有一种方法可以发出这样的请求,下载
http://example.com/test.php
如果服务器配置为提供URL来执行此操作。通常不是,所以通常没有办法发出这样的请求。

对于PHP:如果配置正确,就没有办法下载它。文件权限对任何一种方式都没有帮助,因为Web服务器需要能够读取文件,而这正是提供内容的一种方式。然而。例如,可以将Web服务器配置为使用
x-httpd-php-source
为它们提供服务,或者php/Web服务器配置可能被破坏。这就是为什么不需要直接访问的文件(db配置、类定义等)应该位于文档根目录之外,因此即使Web服务器配置不正确/失败,也不可能意外地提供这些文件。如果您当前的主机不允许您在文档根目录之外存储文件,请切换托管a.s.a.p.

如果服务器配置正确,则无法下载代码而不是执行代码。只有在凭据已被破坏的情况下,用户才能以纯文本形式检索此类文件。我的意思是,您可以放心,源代码不能通过浏览器显示(如果php正常工作的话!),但是其他用户访问您的文件是因为文件权限?这是很有可能的。@Wooble但是你在说什么配置?您能以Apache为例吗?即使Web服务器的配置非常糟糕,它也只会执行PHP或将其作为文本提供。不是两个都在同一时间。后一种情况应该非常明显。顺便说一句,所有web开发语言都是这样(尽管编译后的代码更难阅读)。