不是,可能你的SQL语句有漏洞,条件检测不严
有没有考虑用户输入1 OR 1=1的情况?

解决方案 »

  1.   

    if(!isset($sess_val)||empty($sess_val))
    exit;
    else logon?
    你是这样判断的么?
      

  2.   

    是怎么判断的有问题吗
    session_start();
    if(!session_is_registered('sRegId')){
    echo "无效用户"
    exit;
    }
      

  3.   

    <?php
    session_start();
    if(!isset("sRegId")){
    echo "无效用户<a href='index.php>请返回</a>'";
    exit;
    }
      

  4.   

    你的判断是没错的,估计是服务器端的Session有限制,
    51上的Session就点有毛病:即使是关闭浏览器,重新进入页面,以前的Session还是有效。
      

  5.   

    <?
    //验证用户名和密码.
    //以下程序放在一个公用的文件里
    //pre_inc.php 预处理程序段包含文件
     $usr="user";   //登陆mysql的用户名
     $pwd="password";   //登陆mysql的密码
     $db_name="dbname";  //登陆mysql的数据库名
     $table_name="tablename_user"; //登陆mysql的要操作的数据表
     $link_msg=@mysql_connect('localhost',$usr,$pwd); //连接,假如连接不成功就提示
       if (!$link_msg){
       echo "对不起,数据库连接错误!!!";
       exit();
      }
    //
    SESSION_START();
    $uname =trim($HTTP_SESSION_VARS['username']);
      $char_sqlu = "select * from $table_name where name = \"$uname\"";
      ${resultu}=@mysql_db_query($db_name,$char_sqlu,$link_msg);
      $i =@mysql_num_rows(${resultu});
      if ($i>0){  //关键在这里,判断的语句只有半个
      ?>
      
      <html>
      <body>
      网页内容..........
      </body>
      </html>
      
      
    <?}else {
     echo "你没有权限访问";}?>
    //当然,其实你也可以用比较简单的方法,只要用用户名的条件去数据库里查,如果有这个用户名和密码,就表示合法用户,显示页面啊.