黑帽联盟

 找回密码
 会员注册
查看: 1456|回复: 0
打印 上一主题 下一主题

[php] PHP登陆Session验证

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    首先,在MySQL数据库中创建管理员账号表
    1. create table users
    2. (
    3. username char(8) not null,
    4. passcode char(8) not null,
    5. userflag int,
    6. primary key(username)
    7. );
    复制代码
    接着对表进行初始化,输入数据。
    1. insert into users values('admin','admin123',1);
    复制代码
    用户登陆页面:
    1. <html>
    2. <head>
    3.   <title>Login_fangbei</title>
    4. </head>
    5. <body>
    6.   <form name="fangbei" method="post" action="check_session_login.php">
    7.    <div style="width:353">
    8.     <dl>
    9.      <dt></dt>
    10.      <dd>
    11.       <div align="left">
    12.        Username:
    13.        <input type="text" name="username" />
    14.       </div>
    15.      </dd>
    16.      <dd>
    17.       <div align="left">
    18.        Psssword:
    19.        <input type="password" name="passcode" />
    20.       </div>
    21.      </dd>
    22.      <dd>
    23.       <p align="center"> <input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Reset" value="Reset" /> </p>
    24.      </dd>
    25.     </dl>
    26.    </div>
    27.   </form>  
    28. </body>
    29. </html>
    复制代码
    这个页面登陆之后,会从表单中转向check_session_login.php页面。
    代码如下:
    1. <?php
    2. @mysql_connect("localhost","root",'root')
    3. or die("数据库连接失败");
    4. @mysql_select_db("mydb")
    5. or die("选择数据库失败");
    6. //获取输入的信息
    7. $username = $_POST['username'];
    8. $passcode = $_POST['passcode'];
    9. //获取session的值
    10. $query = @mysql_query("select username,userflag from users where username = '$username' and passcode = '$passcode'")
    11. or die("SQL语句执行失败");
    12. //判断用户以及密码
    13. if($row = mysql_fetch_array($query))
    14. {
    15.     session_start();
    16.     //判断权限
    17.     if($row['userflag'] == 1 or $row['userflag'] == 0){
    18.         $_SESSION['username'] = $row['username'];
    19.         $_SESSION['userflag'] = $row['userflag'];
    20.         echo "<a href='welcome_session_login.php'>欢迎访问bbs.cnblackhat.com</a>";
    21.     }else{
    22.         echo "userflag不正确";
    23.     }

    24. }else{
    25.     echo "username或者usercode";
    26. }
    27. ?>
    复制代码
    验证通过之后,达到欢迎页面welcome_session_login.php。
    代码如下:
    1. <?php
    2. session_start();
    3. if(isset($_SESSION['username']))
    4. {
    5.     if($_SESSION['userflag'] == 1)
    6.         echo "欢迎管理员".$_SESSION['username']."登陆";
    7.     if($_SESSION['userflag'] == 0)
    8.         echo "欢迎用户".$_SESSION['username']."登陆";
    9. }
    10. else
    11. {
    12.     echo "您没有权限访问此页面";
    13. }
    14. ?>
    复制代码
    最后还有个销毁session页面destroy_session_login.php。
    代码如下:
    1. <?php
    2. unset($_SESSION['username']);
    3. unset($_SESSION['passcode']);
    4. unset($_SESSION['userflag']);
    5. echo "注销成功";
    6. ?>
    复制代码
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部