GET パラメータ経由で生の base64 エンコードされた文字列を渡しても安全ですか?
ベストアンサー1
追加のbase64仕様があります。(表を参照)ここ詳細については を参照してください。ただし、基本的にエンコードするには 65 文字が必要です。小文字 26 文字 + 大文字 26 文字 + 数字 10 文字 = 62 文字です。
さらに 2 つの ['+'、'/'] とパディング文字 '=' が必要です。ただし、いずれも URL に適していないため、別の文字を使用すれば準備完了です。上記の表の標準文字は ['-'、'_'] ですが、同じようにデコードし、他のユーザーと共有する必要がなければ、他の文字を使用することもできます。
自分でヘルパーを書くことをお勧めします。base64_encode の PHP マニュアル ページ:
function base64_url_encode($input) {
return strtr(base64_encode($input), '+/=', '-_.');
}
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_.', '+/='));
}