URLでbase64エンコードされた文字列を渡す 質問する

URLでbase64エンコードされた文字列を渡す 質問する

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, '-_.', '+/='));
}

おすすめ記事