TShopping

標題: 解決 discuz「抱歉,您的請求來路不正確或表單驗證串不符 [打印本頁]

作者: woff5678    時間: 2013-12-12 22:26
標題: 解決 discuz「抱歉,您的請求來路不正確或表單驗證串不符
一般出現 「抱歉,您的請求來路不正確或表單驗證串不符,無法提交」 這種問題的地方都是在提交表單的時候出現的。
因為discuz 在提交表單的時候 會進行校驗,submitcheck()函數,這個函數首先會校驗表單中的formhash,如果formhash出現問題,那麼就會出現「抱歉,您的請求來路不正確或表單驗證串不符,無法提交」 這種問題。
submitcheck()這個函數 放在 source\class\helper\helper_form.php 中。
解決方法:
第一種方法:
請檢查你本地的時間是否和服務器的時間一致。如果不一致請同步時間,更新緩存。

第二種方法:
請檢查你提交的表單中,是否有<input type="hidden" name="formhash" value="{$formhash}">,如果沒有請手動添加上去。(這種情況一般會在IE6上面出現,其他瀏覽器正常。)

第三種方法:
打開「source\class\helper\helper_form.php」, 然後把「$_GET['formhash'] == formhash() 」修改為「$_G['formhash'] == formhash() 」。

第四種方法:
在提交的動作控制器中,去掉submitcheck()驗證。 (此種方法需要對discuz的核心比較熟悉。)比如,在註冊的時候,你需要找到「source\class\class_member.php」文件中register_ctl類中的on_register()方法,在if(!submitcheck('regsubmit', 0, $seccodecheck, $secqaacheck)) { }處,可以把submitcheck()換成if(isset($_POST)){ } .雖然不安全,但是也是一種解決方法。

第五種方法:
重裝disucz....




歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2