-6

私のウェブサイトから誰かを禁止したい.

これまでのところ、私が試したことは次のとおりです。

  • たとえば「188.91.1.x」を含む IP を持つ誰かが私の Web サイトにアクセスした場合、die()そのサイトにアクセスします。

  • クッキー

私が禁止しようとしているユーザーは、私が取った上記の手順を回避しました。

私のウェブサイトには公開チャットルームがあり、彼をそこに入れないようにしたい.

どうやってこの人を禁止し続けますか?

ユーザーのマシンやブラウザに固有の他の一意の ID を取得する方法はありますか?

追伸:

  • ログイン名でBANできない

  • 上記と同じ理由で、ホワイトリストに登録できません。

編集:

このコードを見つけました。HideMyAss.com でテストすると機能します。

<?
if( @fsockopen( $_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1 ) )
{
    die("I'm not letting you in");
}
else
{
?>
Hello normal user, thanks for not trying to use a proxy
<?
}
?>

問題が発生する可能性があるものはありますか (本番環境で試すだけでも)?

fsockopen の方法は、Web ベースのプロキシ専用のようです (彼が使用していると思われるので、これは完璧です)。最初に、投稿に貼り付けた fsockopen コードをトリガーする訪問者の数を数え、その人を禁止するための次のステップとして使用するのが適切かどうかを確認します.

4

5 に答える 5

1

彼がプロキシを使用している場合、IP を使用して彼を締め出すことは不可能です。

Cookie を設定して、それに応じてアクセスをブロックしようとすることもできますが、それでも簡単に回避できます。

于 2013-10-01T10:01:51.240 に答える
0

誰かを完全にブロックする方法はありません。私は過去に同じ問題を抱えていました。

私がこれまで行っていた最善の方法は、htaccess ファイルを使用し、以下のようにサブネットをブロックすることです。

<Limit GET POST>
 order allow,deny
 allow from all
 deny from 1.2.3.4
 deny from 2.0.
</Limit>

出典: .htaccess ファイルを使用して IP アクセスをブロックする

別の方法は、以下の例と同様に、htaccess のみを使用してホワイトリストを作成することです。

AuthName "CIRC Under Maintenance" 
AuthType Basic 
<Limit GET POST> 
order deny,allow 
deny from all 
allow from 216.249.119. 
allow from 216.249.123.120 
</Limit>

ソース: .htaccess サブネットの許可/拒否ルール

.htaccess ファイルの詳細: .htaccess - ウィキペディア

別の解決策は、ここで見つかったデバイスごとの一意の ID をチェックすることです: Unique ID for a device with PHP (Adam がコメントで言及)

于 2013-10-01T10:01:21.520 に答える
0

これらの問題を回避する唯一の方法は、ユーザーの手動承認である場合があります。RainFromHeaven が言うように、ブラックリストではなくホワイトリストです。

于 2013-10-01T10:02:49.250 に答える
0

できません.. できることは、彼が使用する IP アドレスを「禁止リスト」に追加することだけです。ユーザーが IP アドレスを変更しているときにユーザーを禁止する方法はありません (実際にはプロキシを使用しています)。

于 2013-10-01T10:00:24.210 に答える