- 代碼: 選擇全部
分先講講點解要修正...
因為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();
}
}