国产精品爱啪在线线免费观看_97视频精品_欧美精品一区二区在线播放_国产欧美久久一区二区三区

新秀網絡驗證系統

標題: 如何實現特殊字符參數值GET傳輸的解決辦法【附視頻教程】 [打印本頁]

作者: admin    時間: 2024-4-12 23:36
標題: 如何實現特殊字符參數值GET傳輸的解決辦法【附視頻教程】
在本框架API接口使用中,由于DISCUZ內置的防注入系統,導致在傳輸特殊字符時產生報錯,下面我們就來解決這個問題:

(, 下載次數: 22)

展示部分特殊字符:!@#¥%……&*()——+?/

例如:我們使用登錄接口,其中有一個密碼后面有 + 這個特殊字符,我們應該怎么辦?

第一步:在你開發的客戶端上,進行文本替換,把 + 這個字符,用 _jiahao_ 來代替; 【+ → _jiahao_

那么原密碼是:demo+ 被文本替換成 demo_jiahao_,這樣在傳輸過程中就沒有特殊字符了。

第二步:通過二次擴展獲取 passwrod這個密碼傳輸參數,將 _jiahao_ 替換成 +
_jiahao_ → +

以下是驗證擴展-內置鉤子擴展實例:

[PHP] 純文本查看 復制代碼
    public function hook_param_password($params,$value){//所有參數調用
        /**
         * 批量替換文本
         * @param $str // 源文件
         * @param array $array //替換規則 array('要改變的字符'=>'要改變為的字符')
         * @return string //返回替換源文件
         */
            $value = xx_convert::str_replace_array($value, array(
                '_jiahao_' => '+',
                '_dengyuhao_' => '=',
                '_xiaoyuhao_'=>'<',
                '_dayuhao_'=>'>',
                '_zuokuohao_'=>'(',
                '_youkuohao_'=>')',
                '_yinhao_'=>'"',
                '_danyinhao_'=>"'",
                '_wenhao_'=>"?",
                '_xiegang_'=>"/",
            ));
        return $value;//返回解密結果,替換password參數的值
    }

總結:通過在客戶端對特殊字符進行文本替換傳輸,再到插件后臺利用擴展開發進行替換文本,達到傳輸特殊字符的雙向傳輸,有效的繞過DISCUZ內置防注入系統。




第八課:特殊字符的GET傳輸

http://www.5566wy.com/net_network/video/接口開發視頻教程/第八課:特殊字符的GET傳輸.mp4




第八課:特殊字符GET傳輸-高級演示

http://www.5566wy.com/net_network/video/接口開發視頻教程/第八課:特殊字符GET傳輸-高級演示.mp4











歡迎光臨 新秀網絡驗證系統 (http://www.5566wy.com/) Powered by Discuz! X3.5