php資料傳輸常用base64來進行資料加密,但是base64編碼之後,傳遞時,常常會出現問題,尤其是在GET資料的時候,而POST資料時,通常不會發生。
為什麼在php中使用base64編碼會有這樣的問題呢?原因是,base64編碼後,會出現+號,而+號在url傳輸時會出現空原,在base64解碼時,就和原來的內容不一樣了。
所以問題就這樣出現了,但是POST時,卻不會,因為傳輸的方式不是url的方式。我測試之後,我知道不概是字元造成的,我原本用的是urlencode的方式來處理,但是好像也是會有問題,所以我採用下面的方式處理。
傳送端把加號換成空白(或是任何不會造成url傳送錯誤的字碼都可以)
接收端把空白變回加號
做完這個動作,就打完收工了。
我先前幾次測試時,都沒有出現加號,所以沒有問題,今天測試卻出錯,我才知道其中的原因。
參考內容。
我最近查的資料還真夠多的,眼睛好累。謎之音,還不是你愛看CSI。
隨機文章
- Citibank信用卡放在家裡也會有被盜刷風險 (2011-01-07)
- UGREEN 綠聯 PD 66W 雙C 氮化鎵 GaN 快充CD216 測試 (2023-01-02)
- Oracle VirtualBox 上黑群 DSM 6.1.7 (2019-01-01)
- 中華電信如意卡 打電話來要我同意3G升4G (2018-04-11)
- 專家所言怎麼和我印像中的有差 (2011-11-30)