| 网站首页 | 新闻资讯 | 网络学院 | 追逐者商城 | 认证考试 | 休闲娱乐 | 图片中心 | 下载中心 | 雁过留声 | 
您现在的位置: 追逐者 >> 网络学院 >> 网络编程 >> PHP 编程 >> 正文
图形图像 |  Photoshop |  CorelDRAW |  AutoCAD |  3dsMAX |  程序设计 |  C语言 |  C++ |  C# |  DelPhi |  Visal Basic |  网络编程 |  ASP |  ASP.Net |  PHP 编程 |  Ajax |  网页制作 |  Dreamweaver |  Flash |  HTML |  JavaScript |  VBScript |  CSS |  网页技术 |  办公软件 |  Word |  Excel |  PowerPoint |  OutLook
专题栏目
相关文章
广告展示
php编程中遇到的cookie的问题
          ★★★
php编程中遇到的cookie的问题
作者:未知 文章来源:网页教学网 点击数: 更新时间:2008-11-8 12:44:08

以前我们刚写PHP的时候,做后台,需要管理员身份认证。一般用COOKIE这么做的,特别是刚接触PHP的PHP爱好者:

admin/login.php

PHP代码:

if(用户名&&密码正确) {
     setcookie('admin',1,time()+36400);
     echo '登录成功';
}


PHP代码:


if($_COOKIE[admin] == 1) {
    echo '有权限';
}


但是这样会造成很大的安全隐患,很多浏览器可以直接修改COOKIE,或者直接在系统里修改。

只要伪造cookie,那么管理权限就拿到了

为了安全,这么做:

PHP代码:


if(用户名&&密码正确) {
     setcookie('userid',用户在系统中的ID,time()+36400);
     setcookie('userpass',用户在系统中的32位md5密码,time()+36400);
     echo '登录成功';
}


判断权限的时候这么做:

PHP代码:


if($_COOKIE[userid]) {
$query = mysql_query(select * user table where userid = '$_COOKIE[userid]' and userpass = '$_COOKIE[userpass]');
$row = mysql_fetch_array($query);
if($row[rank] <> 1) {
    echo '没有权限';
}
}

这样伪造cookie就没有任何作用了

现在我一般都这么做,如果这个方法有什么不对的还请指出。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    备案号:湘ICP备07502188
    Copyright© 2007 zzzhe.Com .All Rights Reserved
    本站资源 纯属收藏 若有侵犯 是属吾过 留言告知 立即处理
    |
    站长:张勇 CMS 基于 powerEasy SiteWeaver™ 模板仿制于 灯火梦幻蓝div PageRank