31

これは基本的な質問かもしれませんが、HTTP または HTTPS の基本認証がある場合、ユーザー名にコロン (":") を含めることは可能ですか? そうでない場合、コロンをエスケープする方法はありますか?

4

2 に答える 2

36

RFC https://www.rfc-editor.org/rfc/rfc2617#section-2 は、ユーザー名にコロンを含めてはならないことを明確に述べています。

承認を受け取るために、クライアントはユーザー ID とパスワードを単一のコロン (":") 文字で区切って、資格情報の base64 [7] エンコード文字列内に送信します。

basic-credentials = base64-user-pass

base64-user-pass = <base64 [4] encoding of user-pass, except not limited to 76 char/line>

user-pass = userid ":" password

userid = * <TEXT excluding ":">

password = *TEXT

これに基づいて、ユーザー名内でコロンを使用する方法はありません。

于 2015-10-28T12:25:12.557 に答える
17

RFC - https://www.rfc-editor.org/rfc/rfc2617#section-2および Web の周りを見ると、ユーザー名のコロンをエスケープする手法はないようです。追加できる唯一の場所はパスワードフィールドです。

オプションの場合は、認証レベルで : を @ に置き換えて、ユーザーにこれを行うように依頼できます。

于 2012-07-23T12:53:40.200 に答える