[修正]COOKIE BUG.

BUG回報,BUG修改教學

版主: 涅魂, 簫哥

頭像
New-TypeChobits
 
文章: 176
註冊時間: 2003-12-12 9:44 am
來自: HONG KONG
性別: 男生

[修正]COOKIE BUG.

文章New-TypeChobits » 2004-08-02 8:24 am

代碼: 選擇全部
分先講講點解要修正...
因為wog o既information係記錄o系cookie(不過我個Site係Store o系Session. 所以唔駛走黎我度做cheater.. :D). 咁分別係放o系3個cookie value入面..
wog_cookie 呢個係記錄id,
wog_cookie_name 呢個係記錄玩家名稱
wog_bbsid呢個係記錄forum user_id.
曾經有人用修改cookie value方法.. 在我的WOG內偷別人的錢及裝備.. 雖然我已轉用SESSION, 但也在此分享一下用COOKIE的時候該如何修正.


在wog_act_config.php內加入

$wog_arry["cookie_debug"] = "內容隨你喜歡,最好是英文加數字";


在wog_act.php的function login內找

setcookie("wog_cookie_name",$p[p_name]);

在後加上

setcookie("wog_cookie_debug",md5($p[p_id].$bbs_id.$wog_arry[cookie_debug]))

function chara_save內找

setcookie("wog_cookie_name",trim($_POST["id"]));

在後加上

setcookie("wog_cookie_debug",md5($user_id.$bbs_id.$wog_arry[cookie_debug]))

在wog_act.php,wog_etc.php及wog_fight.php的
require("./wog_act_config.php");及require("./global.php"); <=不同的wog的位置可能有所不同.. 但不重要的.. 只要在這兩句之後加上.

if ($HTTP_COOKIE_VARS["wog_cookie_name"] != Null || $HTTP_COOKIE_VARS["wog_cookie"] != Null){
if ($HTTP_COOKIE_VARS["wog_cookie_debug"] != md5($HTTP_COOKIE_VARS["wog_cookie"].$HTTP_COOKIE_VARS["wog_bbs_id"].$wog_arry["cookie_debug"]))
{
setcookie("wog_cookie","");
setcookie("wog_cookie_name","");
setcookie("wog_bbs_id","");
setcookie("wog_cookie_debug","");
showscript("alert('COOKIE驗證失敗,請重新登入');window.open('./','_top');");
exit();
}
}



人在江湖... 身不由己...


ETERNAL
 
文章: 2937
註冊時間: 2003-12-03 11:08 pm
性別: 男生

文章ETERNAL » 2004-08-02 8:55 pm

感謝你的告知,之前有人反應過這個問題
有人可以隨意更改cookie的內容
在很久以前我有遇過這樣的人,但我認為這是特殊情況並不為意
沒想到真的有人借此來鑽漏洞

這個方法不錯,建議大家update一下
在下一版本也會放進去

不過若要做到更安全,建議使用SESSION
但是使用SESSION會對主機造成比較大的負擔
如果線上人數很多的話,不建議使用


水色論壇 http://www.et99.net
簡恩峻分享


回到 臭蟲BUG區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客