問題タブ [flooding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - rails - キャプチャプラグインの選択
Rails には多数のキャプチャ プラグインがあり、スパムやフラッドを防止するためのさまざまな種類のソリューションもあります。したがって、Rails の問題だけではありません。
プラグインの種類を見てみましょう。
1. 従来の画像キャプチャ( zendesk の Captcha、Simple_captcha、Validates_captcha、winton の Captcha、Raptcha)。
ポジティブ:
- 自動復号化を防ぐのに効果的です (Simple_captcha についてはわかりませんが、zendesk と winton の両方のキャプチャは (オンデマンドではなく) 事前に生成された画像を使用するため、それを達成していないようです。その画像で学んだ)。
ネガティブ:
- DBテーブルが必要です(少なくともSimple Captcha。それほど悪くはありませんが、使用後にクリーンアップしますか?)。
- RMagick などを必要とします (自分のサイトに既にあるので、あまり現実的ではありません)。
- 手動での復号化に失敗します (私が知っているように、画像 1,000 枚あたり 2 ドル)。
- ユーザーにとって煩わしく、コンバージョン率を損なう可能性があります。
2. ReCaptcha (Recaptcha、Rack-recaptcha)。
ポジティブ:
- 自動復号化を防ぐのに効果的です。
- Rmagick と DB テーブルを必要としません。
ネガティブ:
- サードパーティ サイトへの API 呼び出しを行います。
- 手動復号化に失敗します。
- 前よりさらにうるさい。
3. ハニーポット(Negative-captcha、Trap_door、Reverse_captcha、Honeypot-captcha、Bouncy_bots、invisible_captcha )。
ポジティブ:
- ユーザーはキャプチャの存在を知りません。
- Rmagick と DB テーブルを必要としません。
ネガティブ:
- 自動復号化に失敗する可能性があります (このプラグインを認識できるボットはありますか?)。
- 手動復号化に失敗します。
4. テキストベース(Humanizer、Brain_buster、Gotcha)。
ポジティブ:
- Rmagick と DB テーブルを必要としません (Brain_buster を除く)。
ネガティブ:
- 自動復号に失敗する場合があります。
- 手動復号化に失敗します。
- 少し面倒です(ローカライズできます)。
5. その他(Acts_as_snook)
ポジティブ:
- ユーザーはキャプチャの存在を知りません。
- Rmagick と DB テーブルを必要としません。
ネガティブ:
非常に珍しいのであるかどうかはわかりません。ただし、場合によっては投稿のモデレートが必要になる可能性があるため、洪水の場合に問題が発生する可能性があると思います。
6. Akismet のようなソリューション(効率については不明)。
ポジティブ:
- ユーザーはキャプチャの存在を知りません。
- Rmagick と DB テーブルを必要としません。
ネガティブ:
- サードパーティ サイトへの API 呼び出しを行います。
- ユーザーの詳細をサードパーティのサイトに配信する (非常に悪い)。
また、私のサイトについても少しお話ししなければなりません。ユーザーは ajax リクエストの後 (たとえば、カートに何かを入れた後) にのみ、保護されたフォームを表示できます。最新のボットには、ajax リクエストを実行して Cookie を保存する機能がありますか?
java - 非常に単純な Web アプリケーションでフラッディングを回避し、スケーラブルにする方法は?
JSP とサーブレットを使用して、非常に単純な Java Web アプリケーションを開発しようとしています。
1)ページにテキスト ボックスと送信ボタンがあります
。2)ユーザーが John などの名前をテキスト ボックスに入力し、ボタンをクリックします
。3)文字列がサーブレットに転送されます
。4)の doPost メソッドで私のサーブレット、投稿された文字列変数にアクセスします
。5)使用する Web サービスには、引数を取り、引数と連結してsayHello
返すメソッドがあります。6) Web サービスのメソッドを呼び出し、返された値を取得します。変数を作成し、これを JSP に転送します。JSP は基本的に. "Hello "
sayHello
Hello John
2 つの質問があります。
1) フラッディング:サーブレットへのリクエストのフラッディングを回避するにはどうすればよいですか? どうすれば対処できますか?Web サービスに連絡して挨拶するためのスレッドを作成することを考えました。リクエストが到着したら、スレッドが実行中かビジーかを確認し、そうでない場合はリクエストを処理します。したがって、単位時間あたり最大 1 つの要求に応答することになります。それはどのように聞こえますか?
2) スケーラビリティ:今夜、1,000,000 万人が私の Web アプリにアクセスし、私のアプリに 10 回ずつ挨拶をさせると仮定します。このアプリが適切にスケーリングされるようにするにはどうすればよいですか? サーバーが依存しているハードウェア以外に、JSP/サーブレットの部分についてできることはありますか?
質問が一般的なものであることはわかっているので、できる限り詳細を提供しようとしました。徹底的で的確な回答をいただければ幸いです =)
前もって感謝します。
java - Java ログイン サーバーのフラッド保護
私のJavaサーバーは現在、何千もの異なるIPによってDDoSされています。それに対抗するために、私は専用サーバーのファイアウォールを介してIPをブロックしてきました. しかし、ますます多くの人がやって来ます。この攻撃によりログイン サーバーがフラッディングされ、プレイヤーがログインできなくなります。
私のタイプの Java アプリケーションのフォーラムなど、他の場所で質問しましたが、ほとんど回答が得られませんでした。しかし、彼らはそれが DDoS の一種であると私に言いました。別のユーザーも私にこれを紹介しましたが、これがうまくいくとは思いません. http://www.java2s.com/Open-Source/Java-Document/Net/mina-2.0.0-M1/org/apache/mina/filter/firewall/ConnectionThrottleFilter.java.htm
どうやら私のログイン サーバーでの DoS のようですが、何か手掛かりはありますか? 以下に、ログイン サーバーのメイン フレームワークを示します。
php - php セッションまたは IP によるフラッディング リクエストのブロック
セッションまたは IP でフラッディング リクエストをブロックしたい。
これが私の要件です。ユーザーが 1 時間以内に 1000 件のリクエストを送信した場合、そのリクエストをブロックしたいと考えています。セッションまたは IP によって行われるかどうかはわかりません。これを行うのを手伝ってください。スクリプトがあれば提供してください。ありがとうございました。
java - Java/AMF アプリでのフラッディング/DOS 攻撃の防止
私は、Flash ウェブゲームの Java バックエンドに取り組んでいます。クライアントとサーバーは、Action Message Format (AMF) を使用して通信します。数週間前、当社の別のチームが、Flash クライアントを逆コンパイルしたユーザーによって製品がハッキングされ、変更されたバージョンを使用してバックエンドに偽のリクエストをあふれさせました。新しいゲームでは、この種の攻撃を防ぎたいと考えています。
(詳細: 使用する Web サーバーは Tomcat、AMF クライアントは BlazeDS です。)
この種の攻撃を防ぐ最善の方法を知りたいです。私が持っていたいくつかのアイデア:
nginx 構成は、レート制限を処理するのに最適な場所のように思えましたが、nginx が AMF とどのように相互作用するかについてのリソースが見つかりません。AMF リクエストは Tomcat に直接送信されますか?
ほとんどのリクエストには、関連するユーザーの userId パラメータが含まれます。過度に使用された userId を含むリクエストのレートを制限することは 1 つのアプローチかもしれませんが、サーバーをフラッドさせたいだけの攻撃者は、ランダムな userId を簡単にスパムする可能性があります。
上記と同じことを行いますが、userIds の代わりに IP アドレスを使用するとうまくいく可能性があります。ただし、AMF リクエストから IP アドレスを取得できるかどうかはわかりません。
jquery - ASP.NETアプリケーションでの洪水の軽減
jQuery ajaxを使用してJSON形式のデータをsendmail.aspxページに送信するフォームがあり、非同期で企業のメールボックスに電子メールを送信します。
キャプチャを使用したくありません。これにより、ユーザーが私の会社のサービスにコールバックリクエストを送信するのが難しくなります。
誰かがスクリプトを使用して、sendmail.aspxを介して私のメールボックスに多数のリクエストを送信する可能性があるのではないかと心配しています。
1つのIPに許可されるsendmail.aspxOnLoadの数を制御する最も簡単な方法はどれですか?コードスニペットを提供するか、コードスニペットをポイントしてください。
私はここで提供される解決策を使用してみました:
http://madskristensen.net/post/Block-DoS-attacks-easily-in-ASPNET.aspx
しかし、それは私のユーザーを1秒以内にロックするだけです。
javascript - 1分間に要素がクリックされる回数を制限するにはどうすればよいですか?
私はPMシステムを作成しており、現在メッセージスターシステムを追加しています(ユーザーがメッセージにスターを付けることができるようにするため)。
問題は、ユーザーがメッセージのスターを付けたりスターを外したりするのが非常に速い場合(メッセージを何度もクリックする)、サーバーを台無しにすることです(プロセスが停止するまでホストは503エラーを出します)。メッセージにスターを付けるには、スターをクリックしてスターを付けるか、もう一度クリックしてスターを外すだけです。
何度もクリックされないようにする方法はありますか、それとも1分間にx回クリックした後にエラーがポップアップするようにする方法はありますか?スターをクリックするとAJAXリクエストが送信され、データベースが更新されるため、サーバーが過負荷になるのを防ぐことができます。スターを外すと、同じことをします。
星が1分ほど以内にクリックされた場合にエラーを表示するjQueryの方法はありますか?
これらは主演のための私の機能です:
前もって感謝します!
c++ - 洪水充填 C++
フラッド フィリングの実装に問題があります。
タスクは、画像の白い部分 (シード ポイントを示す) をクリックするようにユーザーに依頼することです。ユーザーは黒で塗りつぶしたいと考えています。
操作はバイナリ イメージに対して実行する必要があります。CImgライブラリ
を使用しています。再帰アルゴリズムを使用できません。思いついたのですがうまくいきません(シードポイントだけ隙間が黒くなります)。私はキューにまったく慣れていないので、問題はその実装にあるのかもしれません。
python - Django Webアプリケーションでサーバーフラッディングを防ぐ方法は?
Python-DjangoWebアプリを開発しています。これにより、私のサイトにアクセスするユーザーは、作成済みの投票ウィジェットを自分のサイトに埋め込むことができます。問題は、訪問者がトラフィックの多いサイトに投票を埋め込んだ場合です。そのため、多くの人が同時に投票に投票します。それは過負荷につながる可能性があり、私はそれを処理する方法がわかりません。
私のサイトは共有ホスティングでホストされています。サーバーはmod_fcgidを備えたApacheです。データベースはMySQLです。
誰かが私にそのような状況で何をすべきかアドバイスをくれますか?
ありがとうございました!
algorithm - ネットワーク上のフラッディング アルゴリズム
そのため、コースプロジェクトの元のフラッディングアルゴリズムをシミュレートする必要があり、インターネットで必要なものを見つけるのが非常に難しいように思われるため、いくつかの考えを明確にして確認したいと思いました(だから私は何か間違ったことをしているに違いありません)...
とにかく、私が知る限り、フラッディングアルゴリズムは、パケットのシーケンスを宛先に送信したいノードが、接続されているすべてのノードにすべてのパケットを送信するときです。次に、これらの受信ノードは、受信したパケットの複製を、元のパケットを送信したノードを除くすべての接続ノードに送信することにより、プロセスを繰り返します。というように、パケットが宛先に到達するまで続きます。したがって、基本的にこのアルゴリズムは、ネットワークをフラッディングしながらパケットが宛先に到達することを保証します。したがって、名前。それで、これは私が私の教授に明確にしたことです:
1) 生成されたパケットにはホップカウンターがあり、その値はすべてのパケットで同じであり、訪問したノードごとに減少し、0 に達するとパケットがドロップされると想定しました。また、値はネットワークのサイズに依存すると想定し、彼は同意しましたが、ネットワークのサイズがどのように影響するかについては言及しませんでした. あなたはそれの直径を取りますか?誰でもここで私を助けることができますか?
2) ノードは自分自身で受信したパケットのコピーを保持し (なぜ? へこんだノードが確認応答を返さなかった場合に再送信するため?)、ホップ カウンターが 0 に達すると、パケットはネットワークからドロップされますが、パケットがすでにそのコピーを持っているノードに到達すると、何が起こるでしょうか? ノードにはコピーがあり、論理的にはすでにすべてのネイバーに送信されているため、ノードはそれをドロップすると思いますが、よくわかりません。誰かがこれを明確にできますか?
3) すべてのノードには、保持できるパケットの最大容量があります。ノードが最大容量に達すると、動作が「停止」し、それ以上のパケットを受け入れないか、FIFO スタイルでドロップしますか? プロジェクトの目的の 1 つは、どのノードが最初にフラッディングされるかを推定することであるため、最初のものを想定しています。しかし、実際にはどうなりますか?それに接続されたノードはパケットを送信し続け、パケットをドロップするか、それ以上パケットを受信しない信号を送信し、ルーティングテーブルのコストを値に変更するため、確認応答を取得しません。つまり、接続/無限コストがないため、何も送信しません。
4) また、質問するのを忘れていましたが、パケットを生成する送信元ノードはどうですか? コピーも保持されますか?そうだと思いますが、生成された瞬間にすべてのパケットのコピーを保持するため、最初にフラッディングする可能性が最も高いノードではないでしょうか? 考え過ぎなんだろうな…