• ベストアンサー

フォーム認証でのパスワードロック

LancerVIIの回答

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 スクリプトを全部かくわけにもいかないので大まかな処理手順の一例を 保存ファイルにロックフラグを追加する。 例)UserId,Password,LockFlg ログイン処理(認証をかける)スクリプトでNGだった場合、セッションに間違え回数を記録する。 また、すでにそのIDに対してロックフラグが立っていた場合はエラーメッセージ等を表示 間違え回数を判断し、指定の回数まで達していたらログインIDとパスワードが保存されているファイルのそのログインIDに対するLockFlgにフラグを立てる ロックされてしまった旨を表示 後は別のスクリプトにてロック状態を切り替える管理用ページを作っておけば 簡単にロック解除や強制的にロック等できると思います。

tomoremo
質問者

補足

回答ありがとうございます。 この場合は、間違い回数はセッションごとにカウントしますが、ロックフラグは全セッションで共有するということでしょうか? 例えば、攻撃者がセッションを切り替えながら(webブラウザを立ち上げなおしながら?とか)、ログインを試みた場合は、ロックができないことになるのでしょうか?

関連するQ&A

  • PHPでパスワード認証

    PHPでパスワード認証をしたいです。 パスワードは、複数あり、テキストボックスにそのどれかが入力されてログインボタンを押すと、パスワードが一致していれば、ログインを許可します。 認証のセッションは、クッキーに記憶して、一定期間有効にしたいです。 また、パスワードは適宜増える可能性があります。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPのログイン認証管理について

    PHPのログインシステムを開発することになったのですが、一般的に どういった手法がとられているのかお伺いしたくこちらに書き込ませて いただきました。 私が現在実装しているものは、下記となります。 ■ログインフォームからの入力値と照合させ、通った場合、下記の   ようにsession_idをセッションに保存   $_SESSION['authentication'] = sha1(session_id()); ■ログイン後はDBとの通信はせず、上記で保存されたセッション   情報を照合させることにより、認証させる。 if($_SESSION['authentication'] == sha1(session_id())){   認証成功処理 } else{   認証エラー処理 } なにか足りない点や、セキュリティ等の考え方から根本的に誤りが ある場合は、ご指摘いただけますと幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • BASIC認証のようなパスワード認証ありませんか?

    BASIC認証のようなパスワード認証できるプログラム、もしくは手法を探しています。 動作はBASIC認証で全く問題ないのですが、キャンセルボタンを押した後認証画面を閉じるようにしたい… と言われたのでプログラムによる方法を考えています。 (BASIC認証だとキャンセルボタンを押すと標準でエラーページに遷移するので) PHPやPerlによるパスワード認証のサンプルプログラムをいくつかDLしてきました。 ただ、ダウンロードしたサンプルソースでは、パスワードを入力後、ページの遷移を行った際に、 そのページからリンクを貼られているhtmlやPDFファイル等のURLページをダイレクト入力するとパスワードロックがかかりません。 PHPやPerlのソースを見てみるとPHPやPerlのソースにhtml表示させているように見受けられました。 もし、PDFファイル等にもロックをかけたい場合はPHPやPerlにソースを書けないですよね? PDFやワード等の参照もパスワードロックの場合PHPやPERLでパスワードロックをかけれるのでしょうか? で、下記が相談になります。 BASIC認証のようにフォルダ配下のどのページをアクセスしてもパスワード認証を聞かれるような サンプルソースがあるサイトは何処かにありませんか? (もしくは複数ページにロックをかけられるもの) もしくは、下記のようにBASIC認証をカスタマイズ設定できる方法。(下記はIE7が使用不可なので利用できません) http://blog.firstlife.jp/2009/06/28/basic%E8%AA%8D%E8%A8%BC%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89html%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E5%87%A6%E7%90%86/ XOOPSをちょっと聞いたのですが、知識がなくとっつきにくい為、もう少し手軽に設置できるような方法はありませんでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • Basic認証のカスタマイズ

    指定ディレクトリ内のみユーザーを限定しbasic認証で構築しています。 Basic認証でユーザー名、パスワードを入力させる際に、Basic認証特有のログイン画面がポップアップされますが、 このポップアップされる、ログイン画面を通常のHTMLフォームでオリジナルで用意して、ログインさせる方法がPHPだと可能であるようで、WEBで調べても詳しく解説しているページが見つかりません。 (もし、間違いでしたら、推奨方法をお願いします。一番はMySQLでDB構築して、セッション、クッキーなど組み合わせるといいのと思いますが・・・ディレクトリ全体を何かとBasic認証の方が簡単に管理しやすいのでにこだわっています。) 詳しく解説されているサイトや方法を教えて下さい。

    • 締切済み
    • PHP
  • パスワード認証(Basic認証ではない方法)

    PHPを使って施設の訪問予約システムを作ろうと思っています。 まず最初のページにユーザー名とパスワードを入力する認証画面を 作ろうと思います。 その際、この認証に成功しても、施設の管理者側(複数名いる)、利用者それぞれ異なったページへ移動させたいのですがどのようにすればよいのでしょうか? データベースを使わずにやりたいのですが、PHP初心者のためよくわかりません。 またサンプルのあるサイトがあればぜひそのURLを教えてください。

    • 締切済み
    • PHP
  • 助けて! パスワードが認証されない!!

    OSはビスタを使用していますが、スリープ状態からログインし(このときはパスワードの認証がされた)、パスワードの変更をしようとしたところ、「現在のパスワードが正しくありません」とのエラーメッセージが出ました。 この後、再起動させ、ログインパスワードを入れてみましたが、やはり 「ユーザー名またはパスワードが正しくありません」と表示され、 ログインできません。 (1)パスワードの変更はしていない(直前までそのパスワードで可能だった) (2)管理者用のパスワードしか使用(設定)していない (3)NUM LOCK、大文字・小文字もトライしてみたがだめだった (4)当然、セーフモードでもログイン出来ず。。。 こんな状況で、サポートセンターにも問い合わせてみましたが パスワードを変更しなくてもたまにこのようなケースがあるようで、」 再セットアップするしかない、とのこと。 マイドキュメント等に重要なデータがあるため、 念のためDドライブへのバックアップもサポートセンターの人に教えてもらいながら済ませましたが、出来ればもちろん再セットアップは避けたいです。 素人の私ですが、いい方法があれば教えてください。 OSはビスタです。 よろしくお願いします。

  • PHP・セッションでのユーザー認証サイトでDL用ファイルへのアクセスも同時に制限するには

    最近PHPを勉強している初心者です。 会員制サイトの構築を考えています。 基本的な仕組みは ・会員はHTML上のフォーム入力によりログイン ・PHPから、MySQLに保存された会員データベースを呼び出して認証 ・セッションを用いて会員用ページにアクセス のようにしようと思います。 しかし、この仕組みではページへのアクセス制限しかできません。 具体的には会員用ページにのPDF文書を置きたいのですが、 ログインせずともURL直接アクセスでDLできてしまいます。 DL用ファイルへのアクセスも含めて制限するのであればBasic認証などが考えられます。 ですがユーザーに2度もパスワードを入力させるわけにはいきません。 パスワードの管理も2重になり、煩雑です。 このような場合、どうやってアクセス制限するのが良いのでしょう。 要点は ・DL用ファイルを含むすべての会員用コンテンツにアクセス制限をかける ・認証は1回のみ(できればフォームで) ということです。 類似の質問には目を通したつもりですが、解決できませんでした。 よろしくお願い致します。

  • パスワード認証機能のPHPスクリプト

    こんばんは。 PHPのID・パスワード認証PHPスクリプトを探しています。 条件は以下のとおりです。 ・ID/パスワードでログインできる ・管理画面からID/パスワードの追加ができる ・PHP ・無料 ・ベーシック認証ではない ・レンタル式じゃない ないと思いますが、よろしくお願いします!

    • ベストアンサー
    • PHP
  • BASIC認証からフォーム認証への切り替え

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

    • ベストアンサー
    • HTML
  • php パスワード 暗号化

    phpの会員サイトにてパスワードの暗号化を実装したいと思い、投稿させていただきました。 会員の人はパスワード変更→暗号化でDBに登録。 変更したパスワード(暗号化されている)でログインという流れを作りたいのですが、 暗号化でDBに登録まではできましたが、ログイン認証で一致せず困っております。 どなたか教えていただけないでしょうか? 例: <input type="password"name="password" value="1234"> $pass = $_POST[pass]; $password = crypt($pass); $passwordをDBに保存。 その後ログアウトし、ログインのパスワードで1234を入力すると「一致しません」となります。 login認証の際にどのように実装してよいのかわからず困っています。 また、上記の内容にてセキュリティ上に問題がありましたらご指摘お願いします。

    • 締切済み
    • PHP