2012-02-10 21 views
7

これらの2つの両方をデータベースに投げ込むと、サイト訪問者が別のIPアドレスから送信されていることを偽装するのを防ぐのに十分ですか?IPスプーフィングを防止する

$ip1 = $_SERVER['HTTP_X_FORWARDED_FOR']; 
$ip2 = $_SERVER['REMOTE_ADDR']; 
+3

_spoofing_とは​​どういう意味ですか? '$ _SERVER ['REMOTE_ADDR']'はあなたにリモートエンドポイントのIPアドレスを表示します。接続の途中では偽装するのは難しいが、接続のどちらかの端点に近いほうにスプーリングする方が簡単です。そのホストはユーザーの1人を悪意のある偽装する可能性があります。本当に測定や予防をしようとしていますか? – sarnold

+2

@sarnold与えられたIPアドレスから5分ごとに1回しかアクションを許可しません。アイデアは、1人が1分間に何百回もノンストップでクリックするのではなく、5分ごとに1回だけアクションを実行できるということです。 – John

答えて

3

短い回答 - いいえ。 保証 IPと人のリンクは決してできません。しかし、ほぼすべての実用的な目的のために、はい、十分です。

あなたが本当に誰かがIPを隠すためにかなりの長さに行くことを期待しているのでなければ、あなたは大丈夫でしょう。

本当にそれが十分であるかどうかに関して何をしようとしているかによって異なります。

編集:最初の投稿にあなたのコメントがありました。その選択肢はEvercookiesです。非常に侵略的で非倫理的ですが、彼らは非常に良い仕事をしていますので、あなたの呼び出しです。

+0

ええ、永遠にクールに見えるよ、+1まで – Cyclone

+0

私が言ったように、地獄のように非倫理的だが、間違いなくクールだ。私はSOPAの人々がそれらについて考えるだろうかと思っています:P – Joe

+0

私はそれを個人的に使うことはありませんでしたが、実際は本当にきれいです。私は今までユーザーのコンピュータ上に識別可能な情報をどれだけ多くの方法で保存できるのか、私はかなり気づいたとは思えません。 – Cyclone

1

いいえ、文字通りヘッダーとして送信されるX-FORWARDED-FORをスプーフィングするのは簡単です。アカウントシステムを作ったり、メールや何かに依存させたりしてみてください。 IPだけでは信頼できません。

上記のコメントがあると、プロキシまたは可能性の高いTorを含むアクションを実行するたびにIPを変更する必要があるため、$_SERVER['REMOTE_ADDR']で十分です。

0

いいえ、一部のプロキシサーバーの使用を避けることができます。

のようなあなたがあなたの本当のIP(と彼らのプライバシーのような多くの人々を) "隠す" ことを可能にするオプションが、まだあります

IPロギングは、とにかくもう一度、ユーザーのいくつかの種類が役立ちます(そしてそれらの多くは彼らの裁判所の命令なしにしてプールを提供してから、動的IPを使用していますあなたは/その誰を知っていないと彼と一緒に多くの人々を禁止ん彼女の)しかし、150台のマシンを使用して管理者に対して...

0

この場合、両方の値が異なる場合、どのユーザーもプロキシサーバーを使用してサイトにアクセスすると、サーバー変数であるHTTP_X_FORWARDED_FORを使用してIPアドレスを取得できます。 HTTP_X_FORWARDED_FOR 'はクライアントIPを記述するプロキシサーバーによってポストされ、' REMOTE_ADDR 'はプロキシサーバーのIPを記述する。

この場合、任意のユーザーがプロキシサーバーを使用せずにサイトにアクセスすると、REMOTE_ADDRサーバー変数を使用してIPアドレスを取得できます。その場合、HTTP_X_FORWARDED_FORとHTTP_VIAは使用できません。

1

HTTP_X_FORWARDED_FORはHTTPヘッダーなので、簡単になりすますことができます。 REMOTE_ADDRは、CGI仕様で指定されているWebサーバーによって提供される環境変数です。容易になりすますことはできません。だから、いずれかのキャッシュに本当の意味はありません。

誰かが不正なプロキシサーバーを使用してHTTP_X_FORWARDED_FORヘッダーを偽装している場合、それについてはあまりできません。

しかし、攻撃者が同じサブネット上にない限り、プロキシされていない要求は偽装されていないと信じるほうが簡単です。偽の偽装攻撃に限定されているため、 TCP接続の番号を確認します。これは現代のネットワークでは非常に困難です。そして、たとえそれができたとしても、詐称されたIPにルーティングされたデータを受け取ることができないため、偽装攻撃をフィルタリングするのは簡単です。

最近、偽装されたIPを使用して実際にWebサーバーとの匿名TCP接続を行うユーザーにとって、これは実際には不可能です(何もできませんが、非常に特殊な状況が必要でアプリケーションが限られています)。多くの場合、パケットスプーフィングはDDoS攻撃と洪水攻撃に使用されます。

関連する問題