- 締切済み
ベーシック認証:5回入力ミスしたら一定時間入れない
htaccessのベーシック認証において総当たり攻撃を防御したいと考えております。 ユーザがログイン画面のIDとパスワードの入力をしますが、 エンターを押す行為を指定回数おこなって、その回数以内に正解のログインID・PWを入力できればログインできて、回数以内に正解を入力できなければ、そのときは一定時間の間、例え正解のID・PWを入力してもログインができなくなる、ということをしたいのですが、htaccessファイルの記述なのかそれ以外の方策なのかわかりませんが、どのようにしたら達成できるでしょうか? 宜しくお願いします。
- touchy
- お礼率88% (704/796)
- その他(プログラミング・開発)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- anmochi
- ベストアンサー率65% (1332/2045)
う~ん。ANo.1の方もおっしゃっているように、そもそもBASIC認証で「3回失敗したら」401が返るというのはWebサーバーじゃなくてブラウザーがやっている事なのでなんとも制御しづらいというところはあろうて。 BASIC認証は、 1.Webブラウザーがhttp://example.com/basic/index.htmlにアクセスする。特別なヘッダーなし。 2.Webサーバーは「401とともに」BASIC認証が使える旨をWebブラウザーに返す。 3.WebブラウザーがBASIC認証に対応していたら、ユーザー名とパスワードを入力する小窓が出てくる。 4.ユーザー名とパスワードを持ってもう一度アクセスする。BASIC認証ヘッダー付。 5.それがOKなら接続許可。NGならもう一度401で2に戻る。 という流れを繰り返しているだけで、3回(4回目の401)で諦めちゃうのはWebブラウザーの方なのだね。Webサーバーは何度来ても認証できなかったら401を返すだけ。 なので、失敗したクライアントを覚えておいて、タイムアウトするまで拒否し続けるというのは、mod_auth_basicにそういう機能をC言語で実装するしか無いんじゃないかな・・・・。その後ろにTomcatやなんやらがあれば、そちら側で制御する方が楽そうだけどね。
- chie65535
- ベストアンサー率43% (8519/19367)
>htaccessのベーシック認証において >どのようにしたら達成できるでしょうか? ベーシック認証ではそういう機能が存在しません。 ですので「CGIでリモートホストを取得してログに記録し、ログを見て一定時間内の連続アクセスの場合は、別のページにすっ飛ばす」と言う、CGIスクリプトを書かないと実装できません。 ここのQ&Aページも、回答の際、過去の回答と比較して、同じ回答は繰り返せないようにしています。
お礼
ありがとうございます。CGIスクリプトでできるのですね。 htaccess内に記述できなくてもそれには固執いたしませんので、そのようなCGIまたはPHPスクリプトはどうつくればできるでしょうか。 またはどこかのサイトに紹介されてあれば教えていただけましたら幸いです。
補足
なかなか検索しても出てこないのですが、「できない」なんてページなら見つかる始末で・・・ そんなことないのでしょうが・・・ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1250449622
関連するQ&A
- ベーシック認証と、サイト内入力
ベーシック認証と、サイト内入力についてご教授頂けると幸いです。 一般には、見せたくないページをhtaccessを使ってベーシック認証にしています。 当然、IDとPASSを訪ねる画面が表示されます。 でも、多くのサイトは、サイト内にIDとPASSを入力させログインのボタンでログインみたいになっていると思います。 MySQLなどを使えば出来そうですが、そういうものを使用せず、 PHPやJSなどで処理が出来ないものかと悩んでいます。 どうぞ、よろしくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- Basic認証について教えて下さい。
現在作成中のWebサイトでBasic認証を掛けようとしているのですが、 (1)一番最初に認証を掛けたページにアクセスしようとすると2回IDとPWが要求される。 (2).htaccessをおいたフォルダの中においたソースに移動しようとしてもIDとPWが要求される(例 test1/index.html → test1/faq.html・・・ここでも要求される) 何が原因になりますでしょうか? Basic認証が初めてのため、戸惑ってしまっております。 宜しくお願いします。
- 締切済み
- オープンソース
- basic認証でpop認証を利用
「basic認証」のIDパスワードに、どこかのメールサーバのpop認証を 使いたいと持ちかけられまして。 pop認証用のID/PWを取得してbasic認証用のデータを 作るとかなら分かるのですが、「htaccessにスクリプトを 仕込んでpop認証をできるのでは」と言われています。 basic認証(digest認証でもいいです)を他の認証システムと ダイレクトに連携する方法ってあるんでしょうか? (個人的には無理だと思っているのですが...)
- 締切済み
- その他(プログラミング・開発)
- basic認証について分からなくて困っています。
htaccessでbasic認証を行っています。ID、passをURLに含めて、ダイヤルボックスを表示させないでログインできる方法はないでしょうか?
- 締切済み
- ネットワーク
- .htaccess認証の自動ログイン
.htaccess認証を使用している場合、URLにIDとパスワードを追加し認証画面を出さずにログインできる方法はありますか? 現在制作中のソフトに埋め込んだブラウザで毎回入力が面倒です。 認証はソフトウェア自体にあり、接続先は.htaccess認証の解除が出来ません。
- 締切済み
- HTML
- 認証プロキシのパスワード入力なしにIEを利用したい
我が社ではプロキシサーバを利用しており、利用者のIDによってアクセスを制限しています。 しかしながら、利用者より「このPCを利用するのは自分しかいない(ログイン時やスクリーンセーバーから復帰時にはPWを求められる)のだから、毎回IE起動時にIDやPWを入力しなくてもよい状態にしてほしい」という要求が出てきました。 パスワードを保存するにチェックを入れておけばIDやPWが入力された状態で認証画面が表示されますが、可能であればその認証画面すら表示されずに利用できるようにしてあげたいと考えています。 また、別の方法としてIPアドレスによる制御も可能とは思いますが、同じPCを別アカウントで利用している利用者もいるため、できればこのままID/パスワードを利用する状態を保っておきたいのです。 お願いします。 利用者がプロキシサーバのIDやPWの入力を気にすることなく利用できる方法をご存知の方は、その方法を教えてください。
- 締切済み
- ネットワーク
- .htaccessで入力したIDをPERLのプログラムで使いたい
こんにちわ。perlに詳しい人に質問です。 タイトル通りの内容なのですが、 .htaccess認証でIDとパスワードをしてもらい、ログインする形式なのですが その後もそのIDとパスワードを使用していきたいんです。1度入力した内容を 再び入力するのは面倒でしょうし。 どうにか、.htaccess認証で入力したIDとパスワードを変数として perlのCGIプログラムに渡すことは可能でしょうか? 分かる方、ヒントだけでもくれたら嬉しいです。お願いします。
- ベストアンサー
- Perl
- Basic認証でID/.PWを2回きかれてしまう
あるWebページにBasic認証をかけてあるのですが、 アクセスしようとするとなぜかID/PWを必ず2回聞かれてしまうのです。 URLはこんな感じだとします。 http://example.com/myhp/secret/index.html 同じIDとPWを入力すればきちんとindex.htmlが表示されますけど、 気持ち悪いので直したいのですがどうしても原因を判別できません、 お心当たりの設定項目はありますでしょうか? なお、クライアント側はIE8、FireFox3.6ではNGで、Choromeだけは 2回きかれませんでした。 設定内容をおさらいすると、 /usr/local/apache2/htdocs/myhp/secret/ に.htaccessが置いてあり、以下のように記述されています。 (このPath以外には.htaccessは置いてありません) AuthName "Welcome to My HP" AuthType Basic AuthUserFile /tmp/myweb/basicAuth AuthGroupFile /dev/null <LIMIT GET> require valid-user </LIMIT> DirectoryIndex index.html /tmp/myweb/basicAuth には、「myname:AaBbCcDd」みたいに書いてあります。
- ベストアンサー
- ネットワーク
- Basic認証について。
前回の質問 (https://okwave.jp/qa/q9891969.html)の続きをさせていただきます。 iPhoneのSafariにてホームページを閲覧した際、 Basic認証が何度も表示されました。 本来ならキャンセルをした時アクセスが出来ないのですが、キャンセルをクリックしても閲覧出来ました。 また、ID、PWの欄に空白のまま間違えてログインをクリックしても 401 Unauthorized というエラーメッセージが表示されませんでした。 現在は症状はが改善されていますが、何が原因なのでしょうか? Appleサポートセンターに問い合わせしても、原因が分かりませんでした。 また、IDとPWを何も入れず、ログインを間違えてクリックしてしまいましたが、普段通りエラーが表示されずホームページが見れました。 これは認証回避とみなされてしまい、不正アクセスなのでしょうか。 大変不安です。 また上記以外にも、パスワードを入力する際に、空欄のままログインをクリックしてアクセスできた場合も、それに含まれるのでしょうか。
- ベストアンサー
- レンタルサーバ・ASP
- Basic認証表示がされる。
似たような質問ですみません。 ホームページを見る際に、いちいちBasic認証が求められます。 ただし、キャンセルをクリックしても普通に閲覧できます。 これは、何が原因なのでしょうか? PCから閲覧していますが、誤ってユーザー名、パスワード(以下ID、PW)を空欄のまま「ログイン」をクリックしないように(不正アクセスの観点から)気を付けていますが、 万が一という事で心配です。 Basic認証を求められたとき、キャンセルまたは誤ったIDとPWを入力すれば、Authorization Required と表示されるはずですが、 あるサイトではこのようなエラーは表示されず、通常通り閲覧出来ました。 似たような質問ですみません。 ご教示ください。
- ベストアンサー
- レンタルサーバ・ASP
お礼
お礼遅れて申し訳ありませんでした。 そうですか、C言語、Tomcat・・・。 なにやら奥深いところにいかねばならないのですね・・・ ただ、No1の方がおっしゃっておられるのはCGIやPHPの手法の推挙ですので、それらの言語によって実装するお話だと思います。 その方面ならば多くのWebサイトで実際に実装されている方式なのでできるのはわかっております。 当方はその方式のやり方を再質問しておりました