ベーシック認証の手入力を回避する方法 検証作業効率向上
公開前のテストのために、また管理ページの閲覧など、サイトに制限をかけて関係者のみに限定することがあるかと思います。
メジャーな方法として、
- ベーシック認証
- IP制限
があります。
一昔前は、IP制限の対応にはインフラ部署の担当者が作業しないといけないなど、申請作業の手間があり敬遠されていた時代もありました。
最近ではインフラがクラウド化してきているので、IP制限もGUIで操作できるなど、少々知見があれば誰でも対応できるようになっています。
どちらの制限がいいのかと言われると、僕個人の意見としては、IP制限をお勧めします。
理由は、
- 解放したIP以外のアクセスはできないため、管理が容易。
- 疑わしいアクセスがあった場合、被疑ポイントが明確(ログ調査しやすい)
- ベーシック認証のようにユーザー名、パスワードを入力する必要がない
です。
とはいえ、IP制限の作業が容易になったとはベーシック認証のニーズはまだまだあります。
IP制限ではなくベーシック認証を選択する理由としては、
- ガラケーでのテスト(接続するたびにIPアドレスが変わってしまうため、都度設定が必要)
- 他社のAPIを利用しており、IP制限をかけると都度IP解放の手続きが必要
なんていう理由があったりします。
ベーシック認証でしか制限はできないけど、ユーザー名、パスワードの入力は面倒くさい
例えば、ガラケーのテストはなんどもアクセスすることになりますので、都度ベーシック認証のuser , passwordを手入力することになります。(チョー面倒です)
そんな方のために、本日は、ベーシック認証の手入力を回避する方法を紹介したいと思います。
やり方
とても簡単です。
URLのプロトコルとドメインの間に、ユーザ名とパスワードをコロンを入力し、最後に@でつなげばOKです。
わかりづらいと思うので、ドメイン、ベーシック認証のユーザ名、パスワードがそれぞれ
ドメイン:example.com
ユーザ名:test
パスワード:pass1234
とした場合、URLは、
http://test:pass1234@exsample.com
となります。
このURLにアクセスすればベーシック認証が表示されず制限のかかったサイトが表示されます。
なお、ベーシック認証のユーザー名、パスワードに「@」など特殊記号が入っている場合、アクセスに失敗します。
その場合は、URLエンコードした文字列を入力すれば問題ありません。
例えば、
- ドメイン:example.com
- ユーザー名:test@user
- パスワード:pass1234
の場合、
http://test%40user:pass1234@exsample.com
とすればサイトにアクセスできます。
懸念事項
ユーザ名とパスワードが丸見えの状態になるので、万が一URLが流出した場合、不特定多数のユーザにアクセスされる可能性があります。
Web系の案件だと、スピード重視になりがちなので、リスクヘッジを優先させるべきかどうか現場責任者が判断することが多いと思います。
一度失墜した信頼を回復するのは容易ではないので、プロジェクトマネージャー、ディレクターは十分検討した上で、最適な判断をしましょう。
2016.6.20追記
この記事で紹介しているベーシック認証の手入力回避方法は、スマートフォンアプリなどのWebビューでも対応可能である旨、教えていただきました。
ただiOSは審査に通らない可能性があるようなので。実施する場合はお気をつけください。
参考サイト:http://2-1b.com/2016/05/31/start-monaca/
コメント一覧
[…] ベーシック認証の手入力を回避する方法 Webサイトをそのままアプリ化する技術を検証中なのだが、テストサイトは他のユーザに見られたくないのでBASIC認証をかけている。そこに直にア […]