2009-08-23 28 views

回答

15

不,因为它在服务器端解释并且结果发送给用户。如果您想查看您在浏览器中控制的网站的源代码,请考虑使用FirePHP的扩展名Firebug,或者只使用您的首选方法访问您的网站文件。

2

你有权访问活动服务器上的文件吗?如果是这样,否则不行,只能看到脚本执行的结果。

2

不,除非服务器管理员搞砸了。

1

如果PHP配置正确,则不适用。

PHP已被解析为访问者。

在现场网站上看到PHP代码会被视为黑客行为,这可能超出了stackoverflow的道德范围。

+4

SO有一个道德范围? – nilamo 2009-08-23 21:34:19

+2

不,但我们可以假装有。 – TricksfortheWeb 2015-10-09 15:02:14

2

不,除非服务器管理员搞砸了。有时候会发生......这就是为什么Facebook为此制作了patch

+6

现在链接已损坏。 – Panzercrisis 2014-09-02 13:49:38

7

通常,不会像其他人所说的那样,除非当然这是你想成为的事情。然后你可以设置它,以便使用.phps(或其他任何扩展名,但这是常态)将显示页面的源代码(我相信有语法着色)。喜欢的东西:

AddHandler的应用程序/ X的httpd - PHP源的.phps

在你的Apache配置应该做的伎俩。

请注意,您需要将.php文件保存为.phps文件以显示其来源。

+0

A [SetHandler'语句](https://httpd.apache.org/docs/2.2/mod/core.html#sethandler)位于[''部分](https:// httpd.apache.org/docs/2.2/mod/core.html#filesmatch)也起作用,并且似乎是CentOS在其Apache配置中如何执行它。这在教学或学习PHP之外并没有多大用处(对其他任何“重要的”PHP应用程序来说,显然是一个安全问题),但是在Unix平台上,您可以使用'.phps'来创建与原始源代码的符号链接'扩展名,这使得它类似于“查看PHP源代码”。 – TheDudeAbides 2017-08-02 17:21:13

2

是:ssh来了,进入目录保存源文件,说 '的index.php',和 “猫” 吧:

ssh myserver.com 
cd ~/www 
cat index.php | less 

你去那里!

注意:这是一个笑话。

+2

只是一个提示,然后你充斥downvotes(;) - 标记这个社区wiki,所以你不会失去任何代表。 – 2009-08-23 21:48:20

+0

嗯,好。我不知道这个“社区维基”是什么。谢谢。 – 2009-08-23 21:50:52

+3

这是一个UUOC(见http://catb.org/jargon/html/U/UUOC.html) – Residuum 2009-08-23 21:51:42

2

好了,这已经相当好回答,但在数字谬误的力量,让我补充:

一般来说,没有。

5

大家都错了!对的,这是可能的!但是如果你确实在你的网络浏览器中看到了代码,那么这将是一个严重的安全漏洞或Web服务器中的一些主要问题。我曾经看到过这种情况,一些愚蠢的管理员已经删除了IIS的PHP扩展,因此浏览器将所有源都作为文本文件提供,而不是执行它们。

然后,还有一种替代方法,即通过FTP。大多数网站通过FTP访问其文件系统,因此管理员无需物理访问系统。您需要知道用户名和密码以及FTP地址才能访问,但是一旦您掌握了这些信息,就可以访问整个站点。对于管理员很有用,但也是一个很好的理由,要非常小心的密码。

+2

我觉得你的第一段已经被*覆盖了,“除非管理员搞砸了”,这个提到至少两次。 – deceze 2009-08-24 00:42:57

+1

是的,但这些答案回答“不”,但这是不正确的。有各种各样的原因 - 包括管理员搞砸了事情 - 这可能会导致PHP源显示。如果服务器应用程序(IIS或Apache)本身具有可绕过标准行为的错误或黑客行为,它*也可能成为可能。 (因此,一个错误。)幸运的是,这些类型的错误是罕见的,但黑客可能会修改服务器软件的行为来搞砸。并且没有服务器是100%防黑客! – 2009-08-24 07:43:23

0

你不能那样做。 因为服务器端脚本(这里是PHP脚本)在Web服务器上执行,并且其输出嵌入在HTML中,然后将其返回到浏览器。 所以你只能看到HTML。 想象一下,如果你问的是可能的话,那么evryone会拥有Facebook的源代码,现在他们手中的flipkart。