TShopping

 找回密碼
 註冊
搜索
查看: 1239|回復: 4

[X1.5] Discuz!x1.5源碼分析 – submitcheck()函數

    [複製鏈接]
發表於 2011-12-5 20:34:27 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
函數:submitcheck()
位置:/source/function/function_core.php
作用:
檢查提交後的數據,主要是檢查驗證碼、安全提問和來路是不是正常。
string $var 存放在全局變量中的下標
int $allowget 是不是允許get提交
int $seccodecheck 檢查驗證碼
int $secqaacheck 檢查安全問答
return返回 boolean

源碼:ps.綠色為註釋
function submitcheck($var, $allowget = 0, $seccodecheck = 0, $secqaacheck = 0) {
if(!getgpc($var)) {
return FALSE;
} else {
global $_G;
if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_G['gp_formhash']) && $_G['gp_formhash'] == formhash() && empty($_SERVER['HTTP_X_FLASH_VERSION']) && (empty($_SERVER['HTTP_REFERER']) ||
preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])))) {
if(checkperm('seccode')) {//return (empty($_G['group'][$perm])?'':$_G['group'][$perm]);會員組權限
//驗證問答
if($secqaacheck && !check_secqaa($_G['gp_secanswer'], $_G['gp_sechash'])) {
showmessage('submit_secqaa_invalid');
}
//驗證驗證碼
if($seccodecheck && !check_seccode($_G['gp_seccodeverify'], $_G['gp_sechash'])) {
showmessage('submit_seccode_invalid');//驗證碼填寫錯誤,請返回修改。
}
}
return TRUE;
} else {
showmessage('submit_invalid');
}
}
}



 

臉書網友討論
發表於 2012-7-26 00:36:45 | 顯示全部樓層
慢慢來,呵呵  

版主招募中

發表於 2012-7-26 00:55:54 | 顯示全部樓層
挺好啊  


發表於 2012-12-29 20:57:48 | 顯示全部樓層
还没有机会尝试一下 帮顶














您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-8 18:21 , Processed in 0.062009 second(s), 23 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表