- 締切済み
サーバー上でのカウンター制御。
サーバー上でのカウンター制御。 個人別にログインカウンターを設けます。 訪れる度に、カウンターは0から始まり、あるパスワードを10回ログインする事により、 中に侵入出来るようにします。 ロジックは、phpでも、perlでもどちらでもその他でも良いのですが、 ファイル等は一切設置しません。 よって、引数の引き渡しにより、 http:// ~ abcd?counter=1の用にして管理します。 ここで質問なのですが、 ある条件を加える事で、上記、abcd~、の部分を見れなくします。 当然、カウンターは増えないので、侵入する事は出来ません。 その条件なのですが、色々な事を想定してます。 私が考える条件としては、 ブラウザ、例えば、ieならカウンターは増えない、firefoxなら増える。 プロクシを使用していれば、カウンターが増える。 この二つしか思いつかないのですが、 その他の制御方法があったら、教えて頂きたいのですが、宜しくお願いします。 追記。 どんな事象を起こすことを聞いているので、 クッキーとか、getにするとか聞いているのではないです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- superside0
- ベストアンサー率64% (461/714)
カウンターがどうのといったミクロな視点でなく、 背景/サイトの用途目的/前後に自分がやったこと等がわからないとなんとも。 いたずらされるので、締め出しただけかもしれませんしね。 というか、そのサーバーの管理者・運営者に問合せでいきない事情があるのでしょうか? もしかして、不正アクセスしようとしているのですか? それならば、そんな犯罪行為を幇助して、捕まりたくはありませんので、これ以上は遠慮しておきます。
- superside0
- ベストアンサー率64% (461/714)
やっぱりご質問の意図が よくわかりません。 自分で管理・構築しているサイトの話でなく、 ユーザーとして利用しているサイトが、10回のログイン作業で入れるようになっているはずなのに いくらログイン処理しても ログイン回数を示しているカウンターが減っていかないので それは、どういう原因が考えられるか ということですか? ということなら、 そのカウント処理やログイン処理の仕組みがわからないと、理由なんて分かるはずがありません。 ただ、それを いまの現象(外部観察)からだけで、推察できないかということであれば、 ・パスワードが違う ・パスワードが以前とは変わった ・そのログインページはダミーのページに入れ替わって、別にログインページができた ・サーバー上のDBやファイルが壊れている ・実はブラウザのキャッシュを閲覧しているだけで、サーバーにはアクセスしていない ・同様にProxyのキャッシュを閲覧しているだけで、サーバーにはアクセスしていない ・IPアドレスでログインを拒否している(それが知られないようにダミーページを出している) ・ブラウザのcookieデータを見てログインを拒否している(同上) ・ブラウザ、OSで拒否している(同上) ・Proxy経由のヘッダがついていると拒否している ・クライアントのIPで、80や8080ポートが空いていると拒否している(Proxy経由の可能性) 等々でしょう。上げれば、キリがないですが。
- superside0
- ベストアンサー率64% (461/714)
ご質問の意図が今ひとつわからないのですが、 もしかして、 いまはパスワードを知っていれば10回のログイン作業で侵入できてしまうので、 パスワード以外に、ユーザーを限定化する方法はないか? また侵入を試みようとするユーザーが拒否できないか? (ブラウザを限定したり、Proxy経由は拒否するという方法は、既に知っている) というようなことでしょか。 環境変数の HTTP_USER_AGENTで ブラウザ以外に OS(MacやWindowsやLinuxやiOSやAndroid等々)やOSのバージョン が分かります。 また 環境変数の REMOTE_HOSTでIPアドレスがわかります。 (IPアドレスから 、IPから、国やプロバイダや地域はある程度は解析可能) また、サーバー上に記録ファイルがつくれるなら、 何度かパスワードを間違えたら、そのIPアドレスからのアクセスを拒否するという 仕組みをperlやphpで作ることは可能です。 >ロジックは、phpでも、perlでもどちらでもその他でも良いのですが、 >ファイル等は一切設置しません。 とのことですが、phpでもperlもファイルとしてサーバー上に設置する必要があるので、 「ファイルを一切設置しません」っていうのは矛盾してないですか? つまり実行特権(chmod 707 )が必要なperlが設置できるのなら、 記録するためのファイルもchmod 707としておいたフォルダに設置出来るはずですが。 ただ、OSやブラウザを限定しても効果的とはいえないし、 Proxyサーバーによってはそれと発見できないこともあるので、 厳密化したいなら、 ・特定のIPアドレスに限定化 (クライアント側は、固定IPまたはVPNサービスを使う必要がある) ・ワンタイムパスワード方式 ・クライアント証明書(特定の証明書がインストールされたPCのみアクセス許可するようWebサーバー構築) のいずれかがよいのではないでしょうか。 #その上で、パスワードをトライしてくるクライアントをIPアドレスでブロックする仕組みを入れておけば、さらに安心かと。
補足
返信有難う御座います。 うまく表現出来なくてすみませんでした。 それでは、単純に書きます。 あるサイトにて、ログインパスワードを10回、つまりは、 ログイン1回で、カウンターが-1され、10回すると、カウンターが0になり、侵入出来るようになります。 と言う仕組みなのですが、本来ならば、パスワードを1回するとカウンターが-1されて、後9回です、と表示されるのですが、 それが何度パスワードを入力しても、カウンターが初期のまま10の状態です。 よって侵入する事が出来ないのです。 プログラムが、引数で管理していれば、それも簡単に侵入出来るのですが、 それは出来ないのです。 なので、どのような仕組みであるか考えてました。 プログラムで何らかの条件の場合だけ、カウンターを-1するようになっていると思いますので、 その条件とは、上記に書いた、プロクシだったり、ブラウザだったり で制御出来ると思いますが、それでも無いので、それ以外の カウンターを制御する方法があるはずなので、心当たりがあったら教えて頂けないでしょうか、宜しくお願いします。
補足
返信有難う御座います。 >ただ、それを いまの現象(外部観察)からだけで、 >推察できないかということであれば 上記に考えた事は全て試しました、駄目なので、 それ以外に、キリがないのであれば、どのあたりを勉強すればよろしのでしょうか。 ご指導のほどよろしくお願いします。