php的urldecode無法還原出原來的url

2021-10-08 02:43:42 字數 260 閱讀 3938

首先, 看下urlencode的官方說明: 大致意思是將除英文和數字以及-_ 外的字元都轉換為%##格式, ##表示兩個hex碼, 此外還有個特殊就是空格轉換為+.

反之,urldecode就是將%##格式轉換為對應的字元, 同樣+轉換為空格.

知道這兩個函式定義後, 我們就知道乙個url被urlencode多少次,如果要還原就要相應的用幾次urldecode.如果相應的urldecode次數不夠則就無法還原到原來的url. 當url無法還原時, 可以考慮會不會有這種情況.

PHP中urldecode二次解碼

urldecode是php中的乙個解碼函式,之所以會出現二次解碼問題,是因為當php在處理提交的資料時,本身會先進行一次url解碼,再遇到urldecode函式,就會出現二次解碼問題。那麼二次解碼會帶來什麼隱患捏?首先就是sql注入問題,設想你輸入一串 id 1 2527 這條語句一般情況下不會被過...

網上UrlDecode方法的修正

在.net開發中難免遇到要對中文進行編碼,網路上流傳著這樣乙個方法後台使用system.web.httputility.urlencode進行編碼,而在前端使用如下的方法 function urldecode zipstr else if chr else else return uzipstr f...

php 無法獲取post的資料

前台 後台 searchtype post searchtype searchterm trim post searchterm 如題,當form表單以post方式提交時,後台獲取不到傳遞的資料。但如果把post換成get,後台就可以正常獲取資料。不知什麼原因?f12審查元素,點submit後的的資...