程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> cookie防止仿造安全講解

cookie防止仿造安全講解

編輯:關於PHP編程

以前我們剛寫PHP的時候,做後台,需要管理員身份認證。一般用COOKIE這麼做的,特別是剛接觸PHP的PHP愛好者:
admin/login.php

if(用戶名&&密碼正確) {
     setcookie('admin',1,time()+36400
);
     echo '登錄成功'
;
}


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


但是這樣會造成很大的安全隱患,很多浏覽器可以直接修改COOKIE,或者直接在系統裡修改。

只要偽造cookie,那麼管理權限就拿到了

為了安全,這麼做:

if(用戶名&&密碼正確) {
     setcookie('userid',用戶在系統中的ID,time()+36400
);
     setcookie('userpass',用戶在系統中的32位md5密碼,time()+36400
);
     echo '登錄成功'
;
}


判斷權限的時候這麼做:

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就沒有任何作用了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved