Dedecms提示“數(shù)據(jù)校驗(yàn)不對(duì)”錯(cuò)誤解決方法

字號(hào):


    Dedecms提示“數(shù)據(jù)校驗(yàn)不對(duì)”是因?yàn)槲覀冊(cè)谶M(jìn)行隱藏表單值進(jìn)行比較時(shí)出現(xiàn)的md5驗(yàn)證錯(cuò)誤所提示了,這個(gè)做法也是安全所需要了,下文我們不考慮安全問題直接刪除指定文件中檢測(cè)代碼,具體如下
    單的解決辦法:
    打開/plus/diy.php,修改第42行到第49行的內(nèi)容注釋掉或刪去即可。
    代碼如下:
    if(!empty($dede_fields))
    {
    if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))
    {
    showMsg('數(shù)據(jù)校驗(yàn)不對(duì),程序返回', '-1');
    exit();
    }
    }
    刪掉后,織夢(mèng)就不會(huì)對(duì)隱藏表單的值進(jìn)行驗(yàn)證了 如果我們沒用到表單就不會(huì)有這問題
    如果我們希望做得安全又好,還是把后臺(tái)的隱藏表單的值與后臺(tái)自定義表單處織夢(mèng)給的值改成一致就可以了,提供一些參考排除方法
    1:/plus/diy.php 文件是否存在,是否對(duì)應(yīng)。
    2::<input name='sex' id='sex' type="text" /> name,id,type,是否和后臺(tái)自定義表單對(duì)應(yīng)。
    3:
    value值是否和后臺(tái)自定義表單一直,如果不一直,就復(fù)制前臺(tái)預(yù)覽中的代碼。
    4:
    這段代碼后面的value值是唯一,每個(gè)網(wǎng)站有單獨(dú)的value值,所以也需要復(fù)制前臺(tái)預(yù)覽的網(wǎng)址代碼值
    臨時(shí)處理方法:
    查找
    代碼如下:
    function PrintAutoFieldsEdit(&$fieldset, &$fieldValues, $loadtype='all')
    在
    $dtp = new DedeTagParse();
    之前加入
    global $cfg_cookie_encode;
    查找
    echo "<input type='hidden' name='dede_addonfields' value=\"".$dede_addonfields."\">\r\n";
    在其之后另行一行加入
    echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.$cfg_cookie_encode)."\" />";