• ベストアンサー
  • 暇なときにでも

基本認証でどのようにユーザーを判別すればいいのでしょうか?

基本認証でユーザーを判別したいと思っていますが方法が分かりません。 例えば@niftyなどは会員サイトのログインを基本認証で行っています。その際 oshiete というIDでメールボックスにログインした際 oshiete に届いたメールが表示されます。又 goo というIDでログインした際は goo のメールが表示されます。これはいったいどのような仕組みになっているのでしょうか? 私の乏しい知識で考えてきたところ環境変数に格納してあるIDを取得し、ただそのIDのログを読み込んでいるだけと考えました。もしこの場合環境変数を自由自在に変換することができるブラウザを使用して goo というIDでログインしたのにもかかわらず環境変数のIDを oshiete に変換すれば oshiete のメールを操作できてしまうのではないでしょうか?こうなるとセキュリティ面で心配ですがこのような事は可能なのでしょうか? どうぞよろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • CGI
  • 回答数5
  • 閲覧数308
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

環境変数なわけないでしょう…^^;) 最近のでは、HTTP認証、というのがありHTTP/1.1ではその仕様が決められています。 HTTP 認証: 基本アクセス認証及びダイジェストアクセス認証 http://www.studyinghttp.net/cgi-bin/rfc.cgi?2617 それ以外にも方法が以下のページで。 パスワード承認・アクセス制限スクリプト http://allabout.co.jp/career/cgiperl/subject/msubsub_accesscontrol.htm 参考になれば。

共感・感謝の気持ちを伝えよう!

その他の回答 (4)

  • 回答No.5

>基本認証ではなくそれはフォームタイプなのでは? >基本認証はセッションID等で認証を維持しているのではなく >毎回ブラウザがIDとパスを吐き出すことによってあたかも >継続されているように見えるだけですが いや、実際にBASIC認証ではヘッダに下記のようなものがつきます。 GET / HTTP/1.0 Authorization: Basic aXNoaTo= ... これはユーザとパスワードが:で区切られたものが単純にBASE64でエンコードされているだけのものです。、 なので、これを使ってセッション管理をしているサイトなど、もはや存在しないということが言いたかったのです。 セッション管理はワンタイムクッキーによって行われていますよ。 (普通のサイトならば)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。 なるほど、参考になります。

  • 回答No.4

>こうなるとセキュリティ面で心配ですが 心配なし。 >ソフト名は忘れましたが確かにありました。 そのような聞きかじりのデタラメを言っていると恥をかきますよw 自由自在とは言いすぎでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

いやぁ、ネタとかじゃなくて本当にあったんですよ。ブラウザの環境変数を指定して吐き出すツールが。でたらめではありません。といってもそのツールの名前を覚えているわけではないので。。。

  • 回答No.3

大抵はCookieを利用して'ユーザ認証の継続'、つまりセッションの継続をしています。ほとんどWebサイトではこれを利用していることでしょう。 単純なCookieであれば、仰るとおりユーザーを偽装できます。 ※しかも別IDであらかじめログインする必要もありません。 ただ、そんな単純な実装は今時なくて、Cookieも暗号化され、セッション毎に(ある意味)変えています。 RSAのSecureID等を使っている人を見たことはないでしょうか?あのワンタイム・パスワードと同じ原理です。 ある意味、といったのは話せば長くなるので省略しますが、ちゃんと作りこんだサイトでは心配するようなことはありません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

すいません、質問内容と異なります。 > 大抵はCookieを利用して'ユーザ認証の継続'、つまりセッションの継続をしています。 ですが、基本認証ではなくそれはフォームタイプなのでは?基本認証はセッションID等で認証を維持しているのではなく毎回ブラウザがIDとパスを吐き出すことによってあたかも継続されているように見えるだけですが。 回答はありがたいのですが全く異なったものになりますので残念ながら参考にはなりません。。

  • 回答No.2
  • esecua
  • ベストアンサー率17% (3/17)

>環境変数を自由自在に変換することができるブラウザを使用して そんなものはない。あるなら誰でもハッカーさんになれるだろう。 もしかしてブラウザ情報や言語情報を変えられる程度で何でも自由自在に他の環境変数を変えられると思っているのかな。 ブラウザの設定なんかでREMOTE_USERのなりすましは無理。悪巧みはやめておくことだ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 eSecuaさん、私をご存知ですか?Intel_404です。知らなかったら忘れてください。 さて、本題ですが目的は悪巧みではありません。現在会員サイトを作成しています。その際に使用するログイン機能の安全性を考え基本認証かそれともフォームタイプか考えています。それで基本認証の弱点を探していたわけです。 ところでブラウザ情報など簡単には変えることはできないといっていますがソフトを使用すれば変換できます。ソフト名は忘れましたが確かにありました。

関連するQ&A

  • LINUX+APACHEでの基本認証の設定の仕方

    LINUX+APACHE+CGIで開発をしております。 今回のシステムでは、基本認証にてログインを行ない、 環境変数からユーザIDを取得してDBからユーザ情報を 取得する方法を取っております。 上記環境で基本認証を実現しようと、いろいろ調べて 設定してみたのですが、どれも上手く出来ませんでした。 そこで質問なのですが、上記環境で基本認証を実現するに は、どのような設定をする必要があるのでしょうか? また、基本認証で入力されたユーザID等は環境変数の どれに格納されるのでしょうか? 初歩的な質問で申し訳ありませんが、宜しくお願い致します。

  • なぜ@NiftyはBASIC認証でユーザー認証しているのか?

    日本で初めてインターネットを提供開始した@niftyでは会員サイトでのユーザ認証をBASIC認証を使用しています。 Yahoo!やGoogle,goo,infoseekなど大手ポータルサイトなどはBASIC認証ではなくクッキーとセッションIDを使用したユーザ認証を使用しています。 なぜ、最高のセキュリティを保たなければならないISPでもある@Niftyが今でもBASIC認証を使用しているのでしょうか? BASIC認証でのセキュリティは大丈夫なのでしょうか? メリット、デメリットなど教えてください。

  • UWSCで基本認証をクリアしたいのですが

    基本認証画面でIDとパスワードを聞かれます。 ログイン済みだと聞かれません。 ログイン済みかどうか、ログイン未ならIDと パスワードを入力する、というのはどういう風に 書けばいいのでしょうか? よろしくお願いします。 UWSC proです。

  • BASIC認証からフォーム認証への切り替え

    現在、あるサイトに入る際、 Basic認証を利用しているのですが、 これを別のサイトからフォームにID:PASSを入力して ログインできるようにしたいと考えています。 (例えばヤフーメールにログインするように) ちなみにBASIC認証するサイトは私が管理している ものではないのです。 このようなことは可能なのでしょうか? また、その場合はどのようなhtmlを記述すれば いいのでしょうか? よろしくお願いしますm(_ _)m

    • ベストアンサー
    • HTML
  • 携帯でユーザー判別する方法

    こんにちは。 mixiの簡単ログインなどで、ユーザーを一意に判別できる仕組みについて教えてください。 同じURLにアクセスしてもユーザーを判別して「ようこそ○○さん」などと表示させる仕組みは何を見てユーザーを判別してるのでしょうか。 ユーザーエージェントは機種名までしか判らなかったと思うので多分違いますよね。 クッキーは対応してないキャリアがあるからこれも違いますよね。 端末IDとかでしょうか…? また、ひとつのQRコードを読み取ると自動でユーザー判別を行い、各ユーザー別のページにジャンプさせるにはどのような作り方をすれば良いのでしょうか。 どうぞ宜しくお願いします。

  • PHPでどのように環境変数からIDを表示できるのでしょうか?

    BASIC認証でログイン後、PHPのページにIDを表示させたいのですがいまいちよく分かりません。 どのようにしてPHP上に環境変数のIDを表示すればいいのでしょうか?

    • ベストアンサー
    • PHP
  • ユーザー認証でSQLのデータと一致するものだけをログインできるようにするには

    PHP初心者です。 タイトルが長くなり、申し訳ありません。 ユーザーのBASIC認証ダイアログを表示させ、データベースのテーブルに書かれたデータと一致するものだけをログインできるようにするにはどうしたら良いでしょうか。 まずデータベースにあるテーブルからIDとパスワードを抽出します。 でも、この場合変数は配列になりますよね。 その配列の変数の宣言の書き方とデータ照合を一致させる方法を知りたくて質問しました。 どうぞ宜しくお願い致します。

    • 締切済み
    • PHP
  • 基本認証の内部に自動でログインしたい

    基本認証(ベーシック・オーセンティケーション)で保護されている領域のIDとパスワードがわかっている場合、この内部に、GETで自動ログインしたいのですが、出来ますでしょうか? http://hoge/hogo-area/id=abc&pass=9999 みたいな感じでです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • NASでの基本認証について

    buffaloのNASを使って、ユーザー毎にフォルダを作成し、管理したいと考えております。 まだ使ったことがなく、理解が不十分なため質問をさせていただきますが、 説明書きを読むと、グループとユーザーを設定して使用できるようですが、 このユーザー名とパスワードは各PCでログインするものでなければいけませんでしょうか? こちらの使い方としては社員毎にPCが与えられているわけではなく、各部署に共有のPCが 複数台ある環境です。そのため、どのPCからも認証で自分のフォルダへアクセスできればと 考えているのですが・・・ グループウェアソフトの個人フォルダのような感覚です。 ユーザー認証をログインとは別にしても、基本認証のような画面で利用することはできますか? ご存知の方、教えてください。

  • 基本認証?で制限されているサイト?を見られない

    教えてください。 業務上、見る必要があるサイトを見ようとしています。 先方に『このユーザー名とパスワードで入ってください』とIDやパスワードを教えてもらいました。 でも私が そのサイトを見ようとすると 『警告、インターネットエクスプローラー ・・・・・ ユーザー名とパスワードは セキュリティで保護されていない接続で基本認証を使用して送信されます』と表示が出ます。 で、 先方さんに教えてもらったユーザー名とパスワードを入れてもログインできません。 最初の表示というか警告みたいなものは わたくしのパソコンのセキュリティが厳しいから出る表示なのでしょうか? 自分のパソコンのインターネットオプションの設定などいろいろ見たのですがよくわかりません。 ネットで調べても似たようなものはあるのですがよくわかりません。 このメッセージの意味はなにでしょうか? なんか自分のパソコンのセキュリティの設定が厳しいんだろうなあ、なんかをゆるくすればいいんだろうなあとは なんとなく思うのですが 違いますか? 先方に問い合わせても 『そのIDとパスワードで入れるはずです。大文字小文字とか間違ってませんか?間違って『』やスペースいれちゃってませんか?』と初歩的なことをいわれるだけです。 いろいろネットを見て調べたら 基本認証の設定を先方がしているのかと思われますが 先方は 私に見させることがわかっていて設定しているわけで。 私のパソコンのなんか設定が厳しいのかなあとやっぱり思うのですが そういうことですか? どういうことですか? すみません。いろいろ調べたのですが調べたら余計謎になりました