用session代替apache服务器验证

  • 作者:未知 来源:未知 添加时间:2006年7月2日 字体:

  • 对于需要身份验证的页面,使用apache服务器验证是最好不过的了。

    不过,apache服务器验证的界面不够友好。而且,并不是所有的情况

    都可以使用apache服务器验证,比如CGI模式的PHP,iis下的php。



    用session可以在不同页面间保存用户身份,比如





    login.php



    <?

    if ($name=="" && $pass=="")

    {

    ?>



    <form action="login.php">

    user:<input type="text" name="name">


    pass:<input type="text" name="pass">


    <input type="submit" &#118alue="ok">

    </form>



    <?

    }

    else

    {

    if($name!="uuu" || $pass!="ppp")

    {

    echo "login fail!";

    }

    else

    {

    session_reGISter("user");

    session_register("passwd");

    $user=$name;

    $passwd=$pass;

    echo "OK!
    <a href=\"next.php\">next page</a>";

    }

    }



    ?>





    next.php



    <?

    session_start();

    echo "username:$user";

    ?>





    但是,用户可以使用http://domain.name.com/next.php?user=uuu

    来绕过身份验证。



    所以,实际的next.php必须是这样:

    <?

    session_start();

    if (!session_is_registered("user"))

    {

    echo "login fail";

    }

    else

    {

    echo "username:$user";

    }

    ?>



    使用session_is_registered()来检测session变量,

    这样,用session已经基本实现对身份的可靠验证。

  • 上一篇:php实现ping
  • 下一篇:php 之 没有mysql支持时的替代方案
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk