- Basic認証を毎回打ち込むのが面倒
- Basic認証のURL埋め込みを使用する注意点は?
- どのブラウザがURL内のBasic認証をサポートしているのかを確認したい。
このような悩みに答えます。
Basic認証は管理的なアクセス制限に便利ですよね。
特にテストアップの段階ではよく使われるかと思います。
その時に毎回ユーザー名、パスワードを打ち込むのは面倒です。
そんな時に、Basic認証にユーザー名、パスワードを埋め込む方法を知りました。
Basic認証を省略できるURL
— すずき | コーディング × ブログ (@ksuzuki3533) October 23, 2023
https://[ユーザー名]:[パスワード]@[ドメイン]
これで毎回Basic認証打ち込まなくて良いので楽。
ただセキュリティのリスクや、対応していないブラウザもあるようなので、もう少し調べます。
その後、色々と調べましたので、この記事でまとめていきます。
この記事を書いた人
すずき
フリーランスでwebデザイナーをしています。
デザインからコーディング、運用まで幅広く対応しています。
3年間で50件以上のサイトをコーディングしてきました。
Basic認証とは?
Basic認証とは、webサイトのアクセスを制御する認証方法の一つです。
ユーザー名とパスワードを使用し、アクセスを認証します。
この情報は、base64エンコードされた形式で送信されます。
base64エンコードとは、データを64種類の文字だけを使って表現する方法です。
具体的には、文字や画像などのデータを、a-z、0-9などの64文字で表すことができます。
例えば、メールで画像を送るときにこの方法が使われます。
base64は情報を隠すための暗号化ではないので、安全に情報を守るための手段としては使えません。
base64エンコードは情報を隠すためのものではないので、通信情報を盗み見されていると認証情報が漏れるリスクがあります。
Basic認証をURLに埋め込む方法
以下の方法でBasic認証の情報をURLに埋め込むことができます。
http://[ユーザー名]:[パスワード]@[ドメイン]/[パス]
ユーザー名がusername
、パスワードがpassword123
、ドメインがexample.com
の場合、以下のようになります。
http://username:password123@example.com/
このURLをブラウザに入力することで、指定したユーザー名とパスワードでexample.com
にアクセスすることができます。
対応ブラウザの概要
ブラウザの対応状況は以下の通りです。
ブラウザ | 対応状況 | 備考 |
---|---|---|
Chrome | 対応 | 認証情報がURLから自動的に削除されることがあるため注意が必要。 |
Safari | 対応 | セキュリティ上のリスクがあるため、この方法の使用は推奨されていません。 |
Firefox | 対応 | 認証が不要なサイトでは警告が表示されることがあります。 |
Edge | 対応 | セキュリティ上のリスクがあるため、注意が必要。 |
ブラウザによって警告が表示されたり、URLが自動で変わったりするため相手が不安に感じる可能性があります。
使用する際は注意しましょう。
注意点とリスク
BAsic認証情報をURLに埋め込む場合、以下の点に注意が必要です。
- セキュリティ上のリスク
- ブラウザのサポート状況が変わる可能性がある
- HTTPSを使用する
順に解説していきます。
セキュリティ上のリスク
URLにBasic認証情報を組み込む際、セキュリティの懸念が生じる点がいくつか考えられます。
まず、URLが他者に知られてしまうと、その中に含まれる認証情報も公開されてしまうリスクが高まります。 次に、ブラウザの閲覧履歴やサーバーのログにURLが記録されることがあるため、これらが不正に取得されると、認証情報が漏れる恐れがあります。
また、base64エンコードは情報を隠蔽するものではないので、通信内容が第三者に傍受された場合、認証情報が読み取られる危険性が考えられます。
ブラウザのサポート状況が変わる可能性がある
ブラウザは、ユーザーの安全性や使いやすさを向上させるために、時折アップデートが行われます。
このアップデートに伴い、URLに含まれるBasic認証の動作やサポート内容が変動することがあります。 たとえば、以前は利用可能だった機能が、新バージョンでは使用が推奨されなくなる場合も想定されます。
このような変更を追いかけるため、ブラウザの公式ドキュメントや更新情報を定期的にチェックすることが求められます。
HTTPSを使用する
認証情報をURLに組み込む際、HTTPSの利用は絶対的に必要となります。
HTTPSは、データの暗号化と通信の安全性を保障するプロトコルです。
対照的に、HTTPでは情報が暗号化されずに送信されるため、第三者によるデータの傍受のリスクが増大します。
認証情報を持つURLを扱う場面では、HTTPSの採用は避けて通れない要件となります。
まとめ
URLにBasic認証情報を埋め込む方法をまとめました。
具体的なURLは以下のとおり。
http://[ユーザー名]:[パスワード]@[ドメイン]/[パス]
テストアップやデモなどに便利です。
しかし、下記の点に注意が必要です。
- セキュリティ上のリスク
- ブラウザのサポート状況が変わる可能性がある
- HTTPSを使用する
ブラウザも現在は全て対応していますが、今どうなるかわからないので、都度確認が必要です。
使用する際はリスクを理解し、対策した上で使うことが重要です。