2011-10-08 144 views
3

只是随意的偏执狂。比方说,我们有一个的index.php:“欢迎”是否可以跳过PHP代码?

<?php 
    exit('Forbidden!'); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html> 
    <title>Can you see me?</title> 
    <script language="javascript" type="text/javascript"> 
    alert("Welcome!"); 
    </script> 
    <p>You got me.</p> 
</html> 

外部用户莫名其妙能达到信息?为什么是/不是?

任何手段都有效(例如查看页面的源代码)。

预先感谢您!

回答

6

PHP代码在这里可以跳过的唯一方法是如果Web服务器配置错误,并且无法通过将文件传递给PHP解释器来处理.php文件。相反,它会以HTML格式输出,并且通过查看页面源代码可以看到代码。

只要该文件作为PHP脚本处理并且PHP代码被解析,它就会正确执行。没有办法规避exit()

+0

我知道我正在评论一个鬼,但 - 如果在服务器上有一个** BACKUP **副本,并带有一个类似'.php〜'或'.php#'的扩展名,那么聪明人可以要求备份文件并查看其内容。 –

2

不,页面将只显示“Forbidden!”,如果PHP解释器已启用。

但是,如果未启用该文件扩展名,则整个源代码将显示(包括PHP源代码),但您可以轻松验证。

+0

绝对正确。 – stivlo

1

通常不是!除非该页面以某种方式缓存,并且在页面缓存后添加了exit命令。

1

从文档页面exit

输出一个消息并终止当前脚本

如果脚本被终止,则没有办法一个用户都不能访问的网页的HTML部分。

0

不,他们将不能够

终止脚本的执行。即使退出()被调用关机功能和对象的析构函数总是会被执行。php exit

相关问题