迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
form表單將get方式改成post方式后,就提示:跨站驗證禁止此操作
代碼如下:
參考了別人提過的問題,將 {dr_form_search_hidden()} 刪掉改成 {$form} 結果一樣。
請問下:
1、這個產生的原因是什么?
2、該如何調整?如何保證跨站驗證功能開啟的同時解決這個問題?
謝謝!
補充:我后臺“跨站驗證”關閉的話,這個頁面會一直跳到后臺首頁。
表單提交只能post不能get
參考文檔:《外部頁面調用網站表單提交項目》
跨站驗證就是驗證隱藏域信息,你網頁源代碼看看網頁form的代碼
這個按鈕有點問題,點擊它,他會跳到首頁,改成我一樓打給你的教程代碼
修改的地方:
1、action里的{SELF}去掉了,看了源碼這里地址會變成后臺入口地址,所以會提交到后臺首頁去;
2、{dr_form_search_hidden()} 改成 {$form},并在form表單前加{php extract(dr_get_form_post_value('自定義表單名'))},區別在于:
{dr_form_search_hidden()}生成的源碼是:
不包含 csrf_test_name 值,所以會驗證不通過~
{$form}生成的源碼是:
包含了csrf驗證需要的值,所以表單值接收的時候正確就通過了。
問題已解決,謝謝!
回復@官方研發技術-西門
表單提交只能post不能get
參考文檔:《外部頁面調用網站表單提交項目》
跨站驗證就是驗證隱藏域信息,你網頁源代碼看看網頁form的代碼
這個按鈕有點問題,點擊它,他會跳到首頁,改成我一樓打給你的教程代碼
修改的地方:
1、action里的{SELF}去掉了,看了源碼這里地址會變成后臺入口地址,所以會提交到后臺首頁去;
2、{dr_form_search_hidden()} 改成 {$form},并在form表單前加{php extract(dr_get_form_post_value('自定義表單名'))},區別在于:
{dr_form_search_hidden()}生成的源碼是:
不包含 csrf_test_name 值,所以會驗證不通過~
{$form}生成的源碼是:
包含了csrf驗證需要的值,所以表單值接收的時候正確就通過了。
問題已解決,謝謝!
回復@官方研發技術-西門