decodeURIComponent有個BUG,當瀏覽器請求地址含%+數字時,會解析錯誤
比如要查詢字元串: 限時特惠!僅需0.5%25!
直接在瀏覽器中輸入:
https://stackoverflow.com/search?q=限時特惠!僅需0.5%25!
但搜索框中會出現,
%25變成%了。
我特意在Node.JS中試了下:
瀏覽器輸入http://localhost:8064/view/限時特惠!僅需0.5%25!
在後台接收到的原始地址是:
此時用decodeURIComponent解析
decodeURIComponent( %E9%99%90%E6%97%B6%E7%89%B9%E6%83%A0%EF%BC%81%E4%BB%85%E9%9C%800.5%25%EF%BC%81 )
結果變成:
"限時特惠!僅需0.5%!"
25消失了。
解決辦法
在發出請求前,先手動在前端編碼,再在後端解碼:
encodeURIComponent( 限時特惠!僅需0.5%25! ) > "%E9%99%90%E6%97%B6%E7%89%B9%E6%83%A0%EF%BC%81%E4%BB%85%E9%9C%800.5%2525%EF%BC%81" decodeURI( %E9%99%90%E6%97%B6%E7%89%B9%E6%83%A0%EF%BC%81%E4%BB%85%E9%9C%800.5%2525%EF%BC%81 ) > "限時特惠!僅需0.5%25!"
※獨角獸的成功之路
※不懂服務設計?看看它的演變歷史你就知道了!
※搜車 React Native 依賴管理方案
※Core Graphics,第一部分:序章
TAG:推酷 |
※Opus Magnum遊戲Steam購買地址 Opus Magnum介紹
※使用BurpSuite的Collaborator查找.Onion隱藏服務的真實IP地址
※使用 NetworkManager 隨機化你的 MAC 地址
※Dungreed遊戲Steam購買地址
※Windows x86 Shellcode開發:尋找Kernel32.dll地址
※Synthetik遊戲Steam購買地址 Synthetik多少錢
※Cloudflare新上線免費公共DNS比Google快一倍 地址你絕對猜不到
※內含入手地址!絢麗非凡的 Air Flightposite CNY 明早 9 點正式發售!
※SpringBoot2常用模塊整合的整理,值得收藏,附github項目地址
※Kraken採用CashAddr地址,BCH地址統一向前一步
※MongoDB資料庫泄露8億電郵地址;微軟開源Windows計算器;Linux 5.0 Kernel發布
※KBShinya和三無Marblue未名之罪在哪裡聽 地址歌詞分享
※Spring下載地址,Struts2下載地址,Hibernate下載地址,SSH下載地址
※洗茶Charli XCX新歌《Girls Night Out》下載地址
※Wulverblade遊戲發售地址及購買教程 Wulverblade如何購買
※iOS beta5 正式發布,蘋果 iOS beta5 固件下載地址
※Caligo遊戲介紹Steam購買地址
※俄羅斯政府屏蔽2千萬個Telegram的IP地址,Telegram創始人慾向VPN提供商捐贈比特幣以保護數據自由
※Google Play中發現「clipper」惡意軟體,貨幣交易中隨意替換錢包地址
※Shopify插件是什麼?Shopify插件安裝下載地址&注意事項