雙重編碼確保 URL 安全傳輸,解碼時反向操作:
// 編碼
$safeUrl = rawurlencode(base64_encode($originalUrl));
// 解碼
$originalUrl = base64_decode(rawurldecode($safeUrl));
base64_decode 失敗:因 URL 中 +、/、= 為特殊字元,需先 rawurldecode 還原。parse_str 用於查詢字串解析,不適用於單一值解碼。Base64 僅是編碼非加密,任何人可解碼。真正機密資料請使用 AES 等對稱加密,或 JWT 簽名驗證。
function urlSafeEncode($data) {
return rawurlencode(base64_encode($data));
}
function urlSafeDecode($data) {
return base64_decode(rawurldecode($data));
}