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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4005|回復: 0

[驗證開發] 如何實現特殊字符參數值GET傳輸的解決辦法【附視頻教程】

[復制鏈接]
1#
發表于 2024-4-12 23:36:33 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

×
在本框架API接口使用中,由于DISCUZ內置的防注入系統,導致在傳輸特殊字符時產生報錯,下面我們就來解決這個問題:



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

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

第一步:在你開發的客戶端上,進行文本替換,把 + 這個字符,用 _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傳輸





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







帖子永久地址: 

新秀網絡驗證系統 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
2、本站所有主題由該帖子作者發表,該帖子作者與新秀網絡驗證系統享有帖子相關版權
3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和新秀網絡驗證系統的同意
4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、新秀網絡驗證系統管理員和版主有權不事先通知發貼者而刪除本文

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

QQ|Archiver|手機版|新秀網絡驗證系統API[軟著登字第13061951號] ( 豫ICP備2021033257號-1 )

GMT+8, 2025-7-1 13:36 , Processed in 0.358501 second(s), 44 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表