[35] URL には、利用者名とパスワードを記述できる欄があります。
[36] URL記録は、 利用者名を持ちます。 利用者名を表します。 値は ASCII文字列です。初期値は空文字列です。 >>34
[37] URL記録は、 パスワードを持ちます。 パスワードを表します。 値は ASCII文字列です。初期値は空文字列です。 >>34
[65] URL がcredentialsを含むとは、 利用者名かパスワードが空文字列ではないことをいいます。 >>64
[38] 現行仕様である URL Standard の URL文字列の構文の定義には、 利用者名やパスワードに相当する部分は含まれていません。
[39] つまり、著者は URL文字列を記述する時に利用者名やパスワードを含めてはならないとされています。
[43] 過去の URL 仕様では、 URL文字列の authority 部分
(URL scheme、:
、//
の後に続く部分)
に @
が含まれる場合、それより後はホストとポートであり、
それより前は userinfo と呼ばれていました。
[44] userinfo は、 :
が含まれていればそれより前が利用者名で後がパスワード、
含まれなければ全体が利用者名とされていました。
[45] 利用者名やパスワードは、 それぞれ0個以上のURL単位群の列とされていました。
[48] 利用者名やパスワードは、空文字列とすることもできます。 しかし空文字列は既定値ですから、無指定の場合と区別できません。
[41] これは利用者名やパスワードを URL に含めるのはセキュリティー上好ましくないという近年の流れに沿った制限だと思われます。
[42] しかし Unix 系環境で動作するプログラムの環境変数で URL を指定する場合、 Webアプリケーションでアクセス先の URL (Web Hooks など) を指定する場合、 プロキシを指定する場合、 データベースのURLを指定する場合のように、 利用者名とパスワードが大いに活用されている場面もあり、 それらがすべて無くなるとも思えません。むしろ、 userinfo を禁止することにより path や query に埋め込んで回避しようとする動きが出る方が危険が多様化して好ましくないと感じますが...
[46] URLの構文解析では、利用者名やパスワードの一部とみなされる部分を、 userinfo符号化集合を使ってUTF-8パーセント符号化します。 >>53
[27] URL文字列に非ASCII文字が含まれる場合、URLの構文解析の時点で UTF-8パーセント符号化されます (>>46)。つまり UTF-8 として扱われます。
[49] URL文字列にパーセント符号化が含まれる場合、 URL の他の部分の場合と同様、元の文字コードは特に規定されていません。 つまりどの文字コードか分かりませんし、そもそも文字列であるかも保証されません。
[50] 利用者名やパスワードのパーセント符号化を復号した後どのように解釈するべきかは、 現行のどの仕様書でも明文化されていないと思われます。
[51] Webブラウザーは、 http:
や https:
で利用者名やパスワードが含まれる時、
パーセント復号して何らかの文字コードで復号して、
HTTP認証に使っているものと思われます。
[67] URL
インターフェイスの
username
IDL属性の取得器は、
次のようにしなければなりません >>66。
[69] 同じく設定器は、次のようにしなければなりません >>66。
[73] URL
インターフェイスの
password
IDL属性の取得器は、
次のようにしなければなりません >>66。
[75] 同じく設定器は、次のようにしなければなりません >>66。
[83] HTMLHyperlinkElementUtils
インターフェイスの
username
IDL属性の取得器は、
次のようにしなければなりません >>79。
[88] 同じく設定器は、 CEReactions
と共に、
次のようにしなければなりません >>79。
[95] HTMLHyperlinkElementUtils
インターフェイスの
password
IDL属性の取得器は、
次のようにしなければなりません >>79。
[100] 同じく設定器は、CEReactions
と共に、
次のようにしなければなりません >>79。
[33] URLの構文解析で使われます。 userinfo が含まれる入力の場合や、 URL の利用者名や合言葉を設定する時に参照されます。
[11] Issue 82250 - chromium - HTTP username:password stripped out from links - An open-source browser project to help move the web forward. - Google Project Hosting ( 版) http://code.google.com/p/chromium/issues/detail?id=82250
[12] Masato Kinugawa Security Blog: CVE-2012-0678: Safariのfeed:// URLのUXSS ( ( 版)) http://masatokinugawa.l0.cm/2012/11/safari-feed-url-uxss.html
[13] Factor out set the username and password algorithms for use by XMLHttpRe... · 4e2f350 · whatwg/url ( ( 版)) https://github.com/whatwg/url/commit/4e2f35062170f11924a35f06abb5e2fb014e48c6
[14] Use the set the username/password algorithms · d699900 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/d699900add11588f35a1d6c74987f288f975f103
[15] Throw if URL includes credentials. Fixes #26. Also more HTTPS. · whatwg/fetch@32ab411 ( 版) https://github.com/whatwg/fetch/commit/32ab4119f9aa5d280507d6201b0784cfe5669106
[16] 479038 – Should the suspicious-auth warning apply to all loads? Should URI userinfo be banned? ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=479038
[17] Internet Explorer does not support user names and passwords in Web site addresses (HTTP or HTTPS URLs) ( 版) https://support.microsoft.com/en-us/kb/834489
[18] Copy username/password for relative URLs · whatwg/url@06b2e68 ( 版) https://github.com/whatwg/url/commit/06b2e6895dff2e6efaeba65f4eb1bc27ecc21581
[19] Encode { and } in username/password/path to fix #16. Also acknowledge… · whatwg/url@c296e2f ( 版) https://github.com/whatwg/url/commit/c296e2f8519a1d6614d664708d368a342682c9a1
[20] Make it non-conforming to place a username and/or password in a URL. … · whatwg/url@e0c721b ( 版) https://github.com/whatwg/url/commit/e0c721b680d0977013ef2a14ba578388c01bd331
[21] Use the username and password encode sets within authority state. Fix… · whatwg/url@7876306 ( 版) https://github.com/whatwg/url/commit/78763066648b921c51b0920493c67fc166c3e6f3
[22] Bug 26340 – Ignoring username and password from the base URL? ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=26340#c2
[24] Encode more code points for usernames and passwords. Fixes #30. · whatwg/url@9ca26e5 ( 版) https://github.com/whatwg/url/commit/9ca26e5b0edc131f9cca81d0fef4ab92815bc289
[25] Use "include credentials" from the URL Standard rather than copying i… · whatwg/fetch@2c68504 ( 版) https://github.com/whatwg/fetch/commit/2c68504a5ea6c6742212a31dc357ceab12862296
[28] Fix #44: replace "relative flag" with non-null host check · whatwg/xhr@fabeb1a ( 版) https://github.com/whatwg/xhr/commit/fabeb1a5de040041e213ccd68c63a0d694c2879b
[107] No need for null passwords (annevk著, ) https://github.com/whatwg/url/commit/5e0b05e95a81fdd539c7b1bf97e69b3df701384f
[108] Editorial: stop referring to a password alone as credentials (annevk著, ) https://github.com/whatwg/url/commit/240e61d45023b6742d35ac18f14560fcc2ab4bfe
[109] Align <a>/<area>.password with the URL Standard (annevk著, ) https://github.com/whatwg/html/commit/165aeecfb1818912219afc50dd2dd1c6ec935ae2
[111] A file URL cannot have credentials (annevk著, ) https://github.com/whatwg/url/commit/9b2eb10eb8436adaf6620b1864b25442152f205b
[112] Editorial: use specific names for encode sets (annevk著, ) https://github.com/whatwg/url/commit/1d69a774bab856651e0d792e825a976056aeaf59
[124] draft-ietf-secsh-scp-sftp-ssh-uri-04 - Uniform Resource Identifier (URI) Scheme for Secure File Transfer Protocol (SFTP) and Secure Shell (SSH) ( ()) https://tools.ietf.org/html/draft-ietf-secsh-scp-sftp-ssh-uri-04
[126] Fixed parse_userinfo breaking with complex passwords by Thomspoon · Pull Request #293 · servo/rust-url () https://github.com/servo/rust-url/pull/293
[127] 504300 - Disallow requests with basic auth credentials in URL - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=504300
[128] 707761 - Name and Password in XMLHttpRequest.open no longer work - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=707761
[129] 708131 - Removal of username/password support in XHR breaks remote control functionality - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=708131
[130] XMLHttpRequest: align username/password test with the standard by annevk · Pull Request #10419 · w3c/web-platform-tests () https://github.com/w3c/web-platform-tests/pull/10419
[131] Restructure URL rendering section and add additional guidance (estark37著, ) https://github.com/whatwg/url/commit/8809598ddfd1d935432c8a0cad53f13d70e24bc6
[132] curl - How To Use (, ) https://curl.haxx.se/docs/manpage.html#--disallow-username-in-url
[133] GNU Wget 1.20 Manual () https://www.gnu.org/software/wget/manual/wget.html#index-URL-syntax
[135] CVE-2024-38428 & CVE-2024-38428 Wget Vulnerability: All you need to know, zoer, , https://jfrog.com/blog/cve-2024-38428-wget-vuln-all-you-need-to-know/