cookie值中包含等號、空格、分號等特殊字元的處理
阿新 • • 發佈:2019-01-05
當cookie中包含有等號、空格、分號等特殊字元時,可能會導致資料丟失、或者不能解析的錯誤,一個較好的解決辦法就是:在將cookie值寫入客戶端瀏覽器之前,首先進行URLEncode編碼,讀取cookie時,進行URLDecode即可。
php
提供了2種設定cookie的方法,setcookie與setrawcookie,
二者的區別是:前者會自動對cookie值進行URL編碼,而後者不會進行URL編碼。
php通過$_COOKIE取得客戶端傳送到伺服器的cookie資訊(不需要進行URLDecode操作)。
java
通過HttpServletResponse addCookie(Cookie cookie)向客戶端寫cookie資訊;
通過HttpServletRequest getCookies()讀取cookie。
通過URLEncoder.encode(String s)對URL進行編碼。
通過URLDecoder.decode(String s)對URL進行解碼。
javascript
通過encodeURIComponent(URIstring)對URL進行編碼
decodeURIComponent() 函式可對 encodeURIComponent() 函式編碼的 URI 進行解碼
.NET
Server.URLEncode
Server.URLDecode