訪問者のIPに関することを確認するには?
-
22-08-2019 - |
質問
私はブログのアグリゲーションのウェブサイトを持っている。
の物語は、訪問回数順に並んでいます。
私は私が訪問
のスパムに直面していますだと思いますいくつかのブログ物語が遠心性のIPアドレスと同じ第二に訪問をたくさん受けるので、
私のウェブサイトは、同じIPからの訪問を許可していません。しかし、私の訪問者は、何とか自分のIPを変更します。
このスパムの訪問を検出するために、すべてのソリューションは、私はGoogle AdSenseのは、このような問題を解決する方法だろう?彼らのでしょうか?
おかげ
解決
短い答えは、単一の未検証の訪問はあなたの物語の順序を変更するために必要な唯一のものであれば、それは決定した攻撃を停止することは不可能だということです。 あなたは、登録ユーザーの投票システムの実装について考えてよいでしょう。
しかし、あなたはいくつかの情報を収集し、それらのすべてを組み合わせることができます:
1)ユーザエージェント
2)IPアドレス
3)X-転送さ-Forヘッダー(使用可能な場合)
しばしば攻撃者が異なるユーザエージェントを通じて怠惰ではなくサイクルになります。 (とないリアルタイムで)一定の間隔で情報を処理するために訪問セットアップお使いのシステムの場合は、潜在的にまったく同じユーザエージェントと同時にoccuring訪問の大規模なコレクションをフィルタリングすることができます。
あなたはいつも、このようなantiproxy.comなどのウェブサイトからのプロキシのデータベースをダウンロードすることができますが、真実は、最もよく計画された攻撃今日は文書化する必要があり、まだボットネットノードから来るということです。あなたのウェブサイトは、通常の訪問者と区別がつかない異種トラフィックと攻撃の標的とされることは完全に可能です。
ユーザーがストーリーに投票してキャプチャを要求できるように、少なくとも、私はあなたの実装を変更することをお勧めします。
他のヒント
PHPを使用すると、クライアントは、彼が彼が言う人であることをもう少し保証のためのIPアドレスに対して$ _SERVER [「HTTP_X_FORWARDED_FOR」]変数を確認することができます。これは、いくつかのプロキシを通じて人々を識別するのに役立ちます。
私は時々、この関数を使用します。他の人が言っているようしかし、時間の正しいIP 100パーセントを取得するのは難しいことができます。
私はから関数を得たところ、私は覚えていないことができますが、インターネット上でかなり一般的のようです。
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
あなたは確実にIPを検出することはできません。
これは、プロキシを経由してもよく、またはそれは偽装されてもよい。