聯(lián)系官方銷售客服
1835022288
028-61286886
form表單將get方式改成post方式后,就提示:跨站驗(yàn)證禁止此操作
代碼如下:
參考了別人提過的問題,將 {dr_form_search_hidden()} 刪掉改成 {$form} 結(jié)果一樣。
請(qǐng)問下:
1、這個(gè)產(chǎn)生的原因是什么?
2、該如何調(diào)整?如何保證跨站驗(yàn)證功能開啟的同時(shí)解決這個(gè)問題?
謝謝!
補(bǔ)充:我后臺(tái)“跨站驗(yàn)證”關(guān)閉的話,這個(gè)頁面會(huì)一直跳到后臺(tái)首頁。
表單提交只能post不能get
參考文檔:《外部頁面調(diào)用網(wǎng)站表單提交項(xiàng)目》
跨站驗(yàn)證就是驗(yàn)證隱藏域信息,你網(wǎng)頁源代碼看看網(wǎng)頁form的代碼
這個(gè)按鈕有點(diǎn)問題,點(diǎn)擊它,他會(huì)跳到首頁,改成我一樓打給你的教程代碼
修改的地方:
1、action里的{SELF}去掉了,看了源碼這里地址會(huì)變成后臺(tái)入口地址,所以會(huì)提交到后臺(tái)首頁去;
2、{dr_form_search_hidden()} 改成 {$form},并在form表單前加{php extract(dr_get_form_post_value('自定義表單名'))},區(qū)別在于:
{dr_form_search_hidden()}生成的源碼是:
不包含 csrf_test_name 值,所以會(huì)驗(yàn)證不通過~
{$form}生成的源碼是:
包含了csrf驗(yàn)證需要的值,所以表單值接收的時(shí)候正確就通過了。
問題已解決,謝謝!
回復(fù)@官方研發(fā)技術(shù)-西門