LoginSignup
79
48

More than 1 year has passed since last update.

BASIC認証の越え方

Last updated at Posted at 2018-12-30

ダイアログで入力する

一番、普通のやつ。
URLにブラウザでアクセスすると次のようなダイアログが表示される。
ダイアログのデザインはブラウザが異なると多少変わるが、ユーザ名パスワードが求められるのは共通。

image.png

正しいユーザ名パスワードを入力するとURLにアクセスできる。

cURLの場合

次のように-u オプションにユーザ名パスワード:(コロン)でつないで設定してBASIC認証を越える。

$ curl -u <ユーザ名>:<パスワード> https://www.example.com/login

URLに埋め込む

URLに次のようにユーザ名パスワードを埋め込んでしまうという方法もある。

https://<ユーザ名>:<パスワード>@www.example.com/login

ユーザ名パスワード@を含む場合にはURLエンコードすれば良い。

BASIC認証に特に対応する機能を持たないアプリケーションからBASIC認証の向こうにあるAPIなどにアクセスする場合などに便利。
ただし、アクセス先のURLをログなどに出力する仕様になっているとパスワードも出力されてしまうため注意が必要。

Authorizationヘッダで送る

プログラムからBASIC認証がかけられたURLにアクセスする場合にはAuthorizationヘッダーにユーザ名パスワードをセットしてリクエストする。

ユーザ名パスワード:(コロン)でつなぎ、BASE64でエンコードして、ヘッダ全体では次のようになるようにする。

Authorization: Basic <BASE64エンコードしたユーザ名:パスワード>

これで超えられる。

参考

79
48
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
79
48