有没有可能查看正在运行的网站的PHP代码?
<FilesMatch \.phps$>
部分内使用SetHandler
语句也是可行的,这似乎是CentOS在其Apache配置中的做法。这对于教学或学习PHP来说很有用(显然对于任何“重要”的PHP应用程序都是安全问题,正如其他地方所提到的),但在Unix平台上,您可以只需创建一个带有.phps
扩展名的符号链接到原始源文件,这使它看起来像是一种“查看PHP源代码”的方式。 - TheDudeAbides大家都错了!是的,这是可能的!但如果您在Web浏览器中看到代码,则这将是严重的安全漏洞或Web服务器中的一些主要问题。我曾经见过这种情况发生过一次,其中一些愚蠢的管理员已删除了IIS的PHP扩展,因此浏览器提供所有源文件作为文本文件而不是执行它们。
另外,还有一种替代方法,即通过FTP。大多数网站通过FTP提供对其文件系统的访问权限,因此管理员不需要物理访问系统。您需要知道用户名和密码以及FTP地址才能获得访问权限,但是一旦您拥有此信息,您就可以访问整个站点。对于管理员非常有用,但也是非常小心密码的一个很好的理由。
将当前页面添加到PHP代码中: http://php.net/manual/zh/function.show-source.php
<?php show_source(__FILE__); ?>
您是否可以访问生产服务器上的文件?如果是,那么可以,否则不行,只能查看脚本执行的结果。
只要PHP正确地配置,就不会出现这种情况。
PHP已经被解释为访问者提供服务。
在一个实际运行的网站上看到PHP代码将被视为黑客行为,这超出了stackoverflow的道德范围。
你不能这样做。 因为服务器端脚本(例如PHP脚本)在Web服务器上执行,其输出被嵌入HTML中,然后返回到浏览器。 因此,你只能查看HTML。 想象一下,如果你所要求的是可能的,那么现在每个人都会拥有Facebook、Flipkart的源代码了。
不行,因为这被视为安全漏洞。
看一下 php://input
和 php://filter/convert.base64-encode/resource=<filepath>
,例如 http://level11.tasteless.eu/index.php?file=php://filter/convert.base64-encode/resource=config.easy.inc.php