zoukankan      html  css  js  c++  java
  • 头像上传组件,后台安全控制

    http://www.hdfu.net/demo.html
    flash头像上传组件

    jcrop组件   裁切头像

    登录数据库表的建立
    1. create table hnsc_user(
    2. account varchar(50) primary key,
    3. pwd varchar(50), -- 密码
    4. truename varchar(50),-- 真是姓名
    5. face varchar(200), -- 注册时上传的头像
    6. why varchar(100), -- 注册时设置的问题
    7. ok varchar(100), -- 设置的问题的答案
    8. rip varchar(15),
    9. regtime int unsigned-- 注册的时间
    10. )engine=myisam default charset=utf8;
    11. select * from hnsc_user;
    12. drop table hnsc_user;
    13. -- 日志管理表
    14. create table hnsc_userlog(
    15. id smallint unsigned auto_increment,
    16. account varchar(50), -- 账户
    17. alog varchar(30), -- 用户的日志操作的内容
    18. aip varchar(15), -- 登录的ip
    19. atime int unsigned, -- 登录的时间
    20. primary key(id)
    21. )engine=myisam default charset=utf8;
    useradd.php
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>网站首页</title>
    6. <style>
    7. </style>
    8. </head>
    9. <body>
    10. <form action="usersave.php" method="post">
    11. 账户:<input type="text" name="account"><br>
    12. 密码:<input type="text" name="pwd1"><br>
    13. 再次输入密码:<input type="text" name="pwd2"><br>
    14. 真实姓名:<input type="text" name="truename"><br>
    15. <input type="submit" value="注册账户">
    16. <a href="login.php">登录&nbsp;&nbsp;</a>
    17. </form>
    18. </body>
    19. </html>


    print_r($_SERVER);
    打印出所有的属性

    $_SERVER['REMOTE_ADDR'] 获得客户的ip地址

    如果出现eval()的错误可以尝试

    打印出来插入语句,然后复制到数据中,看看能否插入,仔细查看原因
    红框里面一定要加空格不然会报错
    checklogin.php
    1. <?php
    2. session_start();
    3. include '../inc/db_mysqli.php';
    4. $a=trim($_POST['account']);
    5. $p=mymd5($_POST['pwd'],$a);
    6. $stmt=$m->prepare('select count(*),truename from hnsc_user where account=? and pwd=?');
    7. $stmt->bind_param('ss',$a,$p);
    8. $stmt->execute();
    9. $stmt->bind_result($cc,$name);
    10. $stmt->fetch();
    11. $stmt->free_result();
    12. $stmt->close();
    13. if($cc==0){
    14. echo '登录失败请重新登录';
    15. echo " <a href='login.php'>登录&nbsp;&nbsp;</a>";
    16. }else if($cc==1){
    17. echo '欢迎'.$name;
    18. $_SESSION['user']=[$a,$name];//是为了传值
    19. echo"<a href='logout.php'>安全退出</a>";
    20. }
    21. //echo $cc,$name; //如果账号密码乱敲会得出0的结果如果正确输入会显示1,所以如果有账号为1,没有账号则为0

    login.php
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>网站首页</title>
    6. <style>
    7. </style>
    8. </head>
    9. <body>
    10. <form action="checklogin.php" method="post">
    11. 账户:<input type="text" name="account"><br>
    12. 密码:<input type="text" name="pwd"><br>
    13. <input type="submit" value="登录">
    14. </form>
    15. </body>
    16. </html>
    乱敲账号密码的结果

    正确输入的结果
    如果有则为1
    checklogin.php 的完整代码
    1. <?php
    2. session_start();
    3. include '../inc/db_mysqli.php';
    4. $a=trim($_POST['account']);
    5. $p=mymd5($_POST['pwd'],$a);
    6. $stmt=$m->prepare('select count(*),truename from hnsc_user where account=? and pwd=?');
    7. $stmt->bind_param('ss',$a,$p);
    8. $stmt->execute();
    9. $stmt->bind_result($cc,$name);
    10. $stmt->fetch();
    11. $stmt->free_result();
    12. $stmt->close();
    13. if($cc==0){
    14. echo '登录失败请重新登录';
    15. echo " <a href='login.php'>登录&nbsp;&nbsp;</a>";
    16. }else if($cc==1){
    17. echo '欢迎'.$name;
    18. $_SESSION['user']=[$a,$name];//是为了传值
    19. echo"<a href='logout.php'>安全退出</a>";
    20. }
    21. //echo $cc,$name; //如果账号密码乱敲会得出0的结果如果正确输入会显示1,所以如果有账号为1,没有账号则为0

    islogin.php
    1. <?php
    2. session_start();
    3. if(isset($_SESSION['user'])){
    4. }else{
    5. header('location:login.php');
    6. }
    7. ?>
    把此行代码全部放在后台管理系统的每个页面的头部即可

    就必须要登录成功以后才能查看此页面

    loginout.php 安全退出
    1. <?php
    2. session_start();
    3. unset($_SESSION['user']);
    4. echo " <a href='login.php'>登录&nbsp;&nbsp;</a>";
    除了登录页面和校验登录页面不用加islogin.php 其他页面都需要加
    checklogin.php   和  login.php










  • 相关阅读:
    CSRF的防御解决过程
    Spring生态研习【三】:Spring-kafka
    Spring生态研习【二】:SpEL(Spring Expression Language)
    Spring生态研习【一】:定时任务Spring-task
    给定一个大的任务,需要在考虑性能的情况下,快速处理完,并报告结果
    给定一个大于2的偶数,将其分解为两个质数的和
    一个求解平方根的算法题
    Kafka研究【一】:bring up环境
    LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案
    IDEA使用笔记(八)——自动生成 serialVersionUID 的设置
  • 原文地址:https://www.cnblogs.com/lsr111/p/4572609.html
Copyright © 2011-2022 走看看