Dedecms提示“數據校驗不對”是因為我們在進行隱藏表單值進行比較時出現的md5驗證錯誤所提示了,這個做法也是安全所需要了,下文我們不考慮安全問題直接刪除指定文件中檢測代碼,具體如下
單的解決辦法:
打開/plus/diy.php,修改第42行到第49行的內容注釋掉或刪去即可。
- if(!emptyempty($dede_fields))
- {
- if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))
- {
- showMsg('數據校驗不對,程序返回', '-1');
- exit(); //Vevb.com
- }
- }
刪掉后,織夢就不會對隱藏表單的值進行驗證了 如果我們沒用到表單就不會有這問題
如果我們希望做得安全又好,還是把后臺的隱藏表單的值與后臺自定義表單處織夢給的值改成一致就可以了,提供一些參考排除方法
1:/plus/diy.php 文件是否存在,是否對應。
2:<input name='sex' id='sex' type="text" /> name,id,type,是否和后臺自定義表單對應。
3:value值是否和后臺自定義表單一直,如果不一直,就復制前臺預覽中的代碼。
4:這段代碼后面的value值是唯一,每個網站有單獨的value值,所以也需要復制前臺預覽的網址代碼值
臨時處理方法:
查找如下代碼:
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)."\" />";
新聞熱點
疑難解答