登陆页根据数据库查询数据表后,根据id做判断权限。在设置一个id的验证码,如果有一个用户更改了数据库ID后,通过验证码的验证,可以不能登陆。这个验证在每个页面都有,做一个include()引用它。
怎么写 setcookie('user_type', $row['id'],0, "/", COOKIE_DOMAIN);
setcookie('subHotel_user_type',md5($row['id']),$Hotel_variables,0,"/",COOKIE_DOMAIN);
怎么写 setcookie('user_type', $row['id'],0, "/", COOKIE_DOMAIN);
setcookie('subHotel_user_type',md5($row['id']),$Hotel_variables,0,"/",COOKIE_DOMAIN);
.........
}else{
.........
}
......
$Hotel_variables="jAvAname123";//单独设置一个值$db = create_peardb_handle();
if($usename && $userpwd)
{
$query=$db->query("select * from name where ........;//从数据库查找用户名和密码
$row = $query->fetchRow(DB_FETCHMODE_ASSOC); if(is_array($row))
{
setcookie('Hotel_user_ID', $row['id'],0, "/", COOKIE_DOMAIN);
setcookie('subHotel_user_type',md5($row['id']),$Hotel_variables,0,"/",COOKIE_DOMAIN); echo "<script>window.location='index_bc.php';</script>";exit();//登录成功跳转到index_bc
比如:checkcookie.phpif(!isset($_COOKIE['user_type']))
{
echo "没有登录";
exit();
}
做这个验证码后,就算改了ID号,在每次登录的时候都会验证一次,如果成功就继续,
否则返回登陆页
一般权限验证都是在登录的时候从数据库中读取相应权限内容,然后保存在session里面,这样一旦退出登录就失效,如果别人用她的账号重新登录,也没有办法获得其他人的权限。
比如用户abc,他的权限是2,ID是1,那我想通过查询后取他的ID并判断他的权限。
其实这种重要的后台登录,本来就不要把数据保存在COOKIE里,保存在SESSION里关闭浏览器即失效就可以了。
ps1:你指的更改了数据库id是什么意思?
ps2:cookie里已经存了原有id,跟md5码意义不是一样吗?
PS1:如果有的用户非法操作,直接进入数据库中修改你超级用户的ID,那么他岂不是也有这个超级用户的权限了么。所以希望加一个验证ID的验证码.
我现在是这样写的......
$Hotel_variables="jAvAname123";//验证码$db = create_peardb_handle();
if($user_login && $user_pass)
{
$query=$db->query("select * from table where user='".mysql_real_escape_string($user_name)."' and pwd='".mysql_real_escape_string($pwd)."'");//从数据库查找用户名和密码
$row = $query->fetchRow(DB_FETCHMODE_ASSOC); if(is_array($row))
{ setcookie('Hotel_user_type', $row['text'],0, "/", COOKIE_DOMAIN);//获取数据表中text权限字段
setcookie('user_type', $row['id'],0, "/", COOKIE_DOMAIN);//获取数据表ID
setcookie('subHotel_user_type',md5($row['id']),$Hotel_variables,0,"/",COOKIE_DOMAIN);//给数据表ID加个验证码 echo "<script>window.location='index_bc.php';</script>";exit();//登录成功跳转到index_bc另外在单独写一个PHP文件,判断如果用户输入的用户名ID与验证码不同,返回首页
我要在每个页面中用include引用这个PHP文件
怎么写
如果一个用户都能进入你数据库修改ID了,那么不管你把ID保存在哪里人家都能获得权限
我现在
$query=$db->query("select * from hotel_admin where user='".mysql_real_escape_string($user_login)."' and pwd='".mysql_real_escape_string($user_pass)."'");//从数据库查找用户名和密码
$row = $query->fetchRow(DB_FETCHMODE_ASSOC);
=========
既然在一张表里,你select * 的时候已经把权限字段取出来了啊
我要在每个页面中用include引用这个PHP文件
怎么写我还是不太明白怎么就有了你超级用户的权限了,改id?
比如你这里说的
我是想做一个验证码,如果有人改了id号 那他就有了原来ID号的权限了,
难道你是想让用户改了id之后就没有权限了?
比如 id name pwd text
1 aaa 123 0
用户aaa是超级用户,如果有人修改了ID 那么他岂不是有了这个text的权限了
$_SESSION['id']=$row['id'];
$_SESSION['name']=$row['name'];//用户名
$_SESSION['text']=$row['text'];//权限在需要用到用户名和权限的页面里session_start();
echo $_SESSION['name'];//输出用户名
echo $_SESSION['text'];//输出权限