1

現在、これを開発環境に実装しています。

  • ログイン時に $SERVER['REMOTE_ADDR'] をセッション変数として保存し、同じ IP アドレスのページが読み込まれるたびにページを再チェックします。

読めば読むほど、多くの人がプロキシなどの理由でこのアイデアを好まないことがわかります...では、まだ良い練習になる可能性のある他のオプションは何ですか? 私は USER AGENT について考えていましたが、簡単な Firefox プラグインを使用すれば、どのジョーブローでもそれを偽装できます。とはいえ、攻撃者が最初の試行で正しいものを正しく選択するには、少なくとも適切な推測が必要です...

人々はどう思いますか?テキスト「SERVER_ADDR」を別のものに変更したいだけです。他のすべてのコードはそのままでかまいません。

ありがとう。

編集: ここでの私の主な目標は、ハイジャック/固定を防ぐことだと思います。IPチェックは、理論的には、ユーザーが常にユーザーのままであることを保証します(誰かがIPをスプーフィングしていない限り...)-しかし、セッションは基本的にこの邸宅のIPアドレスに保存されます...

4

2 に答える 2

2

セッション ハイジャックを防止するために私の時間の半分を費やしてきた人から言えば、それは間違った方法であると断言できます。はい、理論的にはユーザーが同じであることを保証しますが、実際には、予期された「予期しない」結果が得られます。特定の ISP は、ページが読み込まれるたびに IP を変更します。tor のようなプロキシも同様です。最善の策は、単純にユーザー エージェントを使用することです。これには欠点がありますが、完全に安全なシステムを構築することはできません。サイトで xss を防止するようにしてください。おそらく、ユーザーが簡単に偽造されることはありません。私は他の実装を持っていました。1つ目は、IPの最初の部分を取得し、それをuaでハッシュして、IPが常に同じ範囲にあることを確認することでしたが、その後、国の範囲が異なることがわかりました. もう 1 つは、IP が同じ国からのものであることを確認するために国を検索することでした。しかし、それには追加のデータベース検索が必要でした。あなたができる最善のことはそれを難し​​くすることですが、それは決して安全ではありません.


ほとんど忘れていました。ログインなどでユーザーの権限を増やすたびに、セッションを再生成することを忘れないでください。これにより、セッション ID が URL 経由で渡されるセッション固定攻撃を防ぐことができます。あなたのxssを覚えておいてください。

于 2011-03-13T14:45:35.677 に答える
1

IP: でいつでもマスクを実行できます134.23.%.%

于 2012-08-24T20:27:40.047 に答える