+ -
当前位置:首页 → 问答吧 → php新手做的 登录验证,大家来评评是否安全~

php新手做的 登录验证,大家来评评是否安全~

时间:2011-04-06

来源:互联网

db_mysql.class.php 是从discuz拿的
global.func.php 包含:daddslashes 及 getgpc showmsg等函数

<?php
require_once('../include/db_mysql.class.php');
$_GET = daddslashes($_GET, 1, TRUE);
$_POST = daddslashes($_POST, 1, TRUE);

$user_name=getgpc('user_name');
$user_pwd=getgpc('user_pwd');

判断用户名是否合法代码

$user_pwd=md5($user_pwd);
$row_num=$db->num_rows($db->query("select * from web_master where User_Name='$user_name' and User_Pwd='$user_pwd'"));
if($row_num>0)
{
$webmaster=$db->fetch_array($db->query("select * from web_master where User_Name='$user_name' and User_Pwd='$user_pwd'"));
if(!empty($webmaster['id'])&&$webmaster['User_Name']==$user_name&&$webmaster['User_Pwd']==$user_pwd)
{
$_SESSION['mayi_admin']=$user_name;
$db->query("update web_master set Login_IP='$onlineip',Login_Time=$timestamp where User_Name='$user_name'");
showmsg('','2','index.php');
}else{
$showerror='<tr><td colspan="2" align="center" class="red b">用户名或密码出错,请重新输入!</td></tr>';
}
}else{
$showerror='<tr><td colspan="2" align="center" class="red b">用户名或密码出错,请重新输入!</td></tr>';
}


请高手指点一下这样子操作是否安全?

作者: bear63   发布时间: 2011-04-06

session 再加密!!

作者: zmzkkk   发布时间: 2011-04-06

session如果加密的话,

那需要用到的时候怎么办?例如有多个管理员不同权限?

作者: bear63   发布时间: 2011-04-06

保存session的时候可以再加个密码和常量。例如可以这么写:
  $_SESSION['mayi_admin']=md5($user_name.$user_pwd.'常量');就安全多了。

作者: jordan102   发布时间: 2011-04-06

SESSION 在服务端,加密就没有那个必要了。如果是COOKIE保存的可考虑,可解密的加密方式,毕竟用户名是需要明文的。

作者: wl850620   发布时间: 2011-04-06

那我想知道,这段代码的安全性如何?

大家指点指点,

拿来做站,能否 pass??

作者: bear63   发布时间: 2011-04-06