这样会引发什么问题???? 
-------容易引起混乱,程序不易理解,容易被人家攻击
还有,http://x.x.x.x/stat.php?name=aaa 这种传参的方式,总感觉不太安全,如果我看到这样的连接,又知道别人叫bbb,直接http://x.x.x.x/stat.php?name=bbb 就可以看到了....有什么好办法可以避免这种问题。我见过网有好像有php传参代码是加密的???  怎样实现的? 还有没有别的好办法? 
————————————————————没有办法,只要你传值,都能看见
复杂一点的可搞一下js,再编下码,弄的一般人搞起来很麻烦,知难而退就行了

解决方案 »

  1.   

    我给的建议是在php.ini文件中设置
    register_globals = Off
    然后在所有的php文件的开始写
    error_reporting(E_ALL);
    这样就能够找到那些有问题的变量了
      

  2.   

    最好不要用简短风格...带有保密色彩的值不要用get传就行了
      

  3.   


    扯呢,带要保密色彩的值还是要加登录验证或者带状态的非对称加密,否则无论用GET还是POST传都会被模仿出来的。
      

  4.   

    如果使用了简短风格也不要怕。有一种方法可以帮你搞定。foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
            foreach($$_request as $_key => $_value) {
                    $_key{0} != '_' && $$_key = daddslashes($_value);
            }
    }
      

  5.   

    主要问题是意外变量
    假如有这么个变量$dispError 控制是否输出错误
    在异常处理中有这样的代码
    function myEroor($errorMsg){
    global $dispError;
    if($dispError){
     echo $errorMsg;
    }else{
     echo '出错啦';
    }
    }
    这样的代码在PHP4时代经常出现问题是
    www.123.com/?dispEroor=1
    这样就可以获得出错信息 呵呵 主要的问题也是在这里 意外的声明了变量 
    要有良好的编程习惯 变量在使用前一定要声明 最好遵循C的风格在函数最开始部分 声明所使用的变量http://x.x.x.x/stat.php?name=aaa 
    应该没人会把身份验证的值用GET POST COOKIE方式传递 应该使用SESSION
      

  6.   

    可以用
    $_SESSION['name'] 方法(jf)