3

大量のデータをスクリーンスクレイプしようとする人々がしばらくするとブロックされるように、自分のWebサイトへのトラフィックを制限しようとしています。これは、着信要求のIPに基づいて行うことになっています。私はIP制限機能を書いていると思いますが、それをテストする方法に困惑しています。有効なトラフィックをシミュレートするには、IPアドレスを何度も変更できる必要があります。また、20を超える異なるIPをテストする必要があるため、それぞれのプロキシソリューションは機能しません。

ローカルマシン(Ubuntuを実行している)でコードをテストしているので、このテストが必要な場合はサーバー設定(Apache)を変更できます。

私は企業ネットワークの背後にいるので、MACアドレス/ARP設定を変更して新しいIPを「再割り当て」することはできません。ある種のローカルホストのIP変更タイプのものを望んでいたので、サーバーとクライアントが同じマシンであるという事実を利用することができました。

また、本番サーバーにロールアウトする前にコードを変更しないように努めていましたが、それが最善の方法かもしれません。

どうすればこれを設定できますか?

4

7 に答える 7

7

さて、あなたができることは、実際にIPをチェックする代わりに、次のようなことをすることです。

$ip = '1337.1337.1337.1337';

それ以外の:

$ip = $_SERVER['REMOTE_ADDR']

次に、IPチェックコードを実行します。

したがって、完了したら、$ip変数コードを次のようにすることができます。

//$ip = '1337.1337.1337.1337';
$ip = $_SERVER['REMOTE_ADDR']

そのため、「デバッグスイッチ」のオンとオフを簡単に切り替えることができます

編集:

または、IPを動的にすることもできます。

$ips = Array('192.168.1.220', '120.843.592.86', '256.865.463.563');
$ip = $ips[rand(1,count($ips)-1)];
于 2009-05-26T22:48:08.293 に答える
1

Linuxで次のコマンドを実行すると、簡単に実行できます。

ifconfig eth0:0 127.0.0.2
ifconfig eth0:1 127.0.0.3
など...(偽のローカルインターフェイスの作成)

0.0.0.0(すべてのインターフェース)でリッスンしていない場合は、これらのIPをリッスンするようにapacheを構成する必要がある場合があります。そうすれば、これらのIPに直接アクセスできます。

他のIPを使用したい場合は、それも簡単に実行できますが、テストが完了したら、忘れずに削除してください。

これは、ローカルマシンからローカルマシンにのみ機能します。

于 2009-05-27T08:22:57.057 に答える
0

これをテストする方法はたくさんあります。imoの最も簡単な方法は、偽装しているIPアドレスがサーバーのMACアドレスを指しているARPエントリのリストを作成することです。次に、srcアドレスを偽装された各IPアドレスに設定し、接続して、必要なHTTPリクエストを送信する簡単なアプリを作成できます。サーバーは問題なく応答するはずです。

于 2009-05-26T22:31:00.137 に答える
0

これがあなたが探しているものであるかどうかは正確にはわかりませんが、大学でダウンロードクォータを回避するために新しいIPを取得できるように、MACアドレスをスプーフィングする必要がありました。MACを変更すると、新しいIPが作成されました。「macchanger」と呼ばれる標準のubuntuリポジトリにプログラムがあり、正しいオプション(ランダムの場合は「-r」)を指定して実行し、デバイスを指定します。そのようです。

sudo macchanger -r eth0

これを行うときは、ネットワークを無効にする必要があります。これを行うには、ネットワークアイコンを右クリックし、[ネットワークを有効にする]チェックボックスをオフにします。

于 2009-05-26T22:32:34.203 に答える
0

これをファイアウォールレベルで行うことを検討する必要があります(ホスト上のSWファイアウォールよりも企業境界ファイアウォールでない場合)。アプリケーションレベルでのみ制限している場合、不正なホストがサイトのパフォーマンスを低下させたり、パフォーマンスに影響を与えたりする可能性がある状況は数多くあります。あなたがそれらを拒否することになったとしても、それらはまだソケットとウェブサーバーワーカースレッドを消費しています。IPチェックの前にいくらかの費用がかかるコードがあるかもしれません。それは実際にはアプリケーションの軽量さに依存しますが、確かに、ハードウェアであろうとソフトウェアであろうと、ファイアウォールはアプリケーションよりもはるかに効率的に手に負えないクライアントをブロックできます。

于 2009-05-26T23:48:22.040 に答える
0

この答えはおそらくこのアプリケーションにとってはやり過ぎですが、トラフィックを生成するためにtcpdump / libpcapwinpcap、およびrawソケットを使用するのが好きです。アプリケーションに出入りするボリュームを細かく制御できるだけでなく、ファイアウォール/トラフィックフィルター設定で期待できることや、予期していなかった(またはブロックされているトラフィックの種類)について多くのことを学びます。ブロックされたくないこと)。

于 2009-05-27T00:23:24.777 に答える
0

ランダム関数を使用し、制限をrand(0,255)に設定し、文字列をIP形式に連結します。電話をかけると、新しいIPアドレスが取得されます

于 2016-04-12T07:07:17.950 に答える