2017-04-13 1 views
2

フォームを持っていれば、そのフォームを人が埋めるとPOST APIを打ちます。完全なリクエスト情報がブラウザのネットワークタブに表示されるのを避けるにはどうすればいいですか

ユーザーがフォームを送信すると、APIの完全な情報(リクエストURL、ヘッダー)が表示されます。サーバー側のコードでこのPOST APIを起動すると、私たちのテーブルはジャンク値で埋められますか?

はどのように我々は、APIを介してシステムに侵入するこの大量のデータを直接C#クライアント、POSTMANまたは他のサーバー側のクライアントに見舞われることを避けることができますか?

+0

ただ、1つのだけ応答して、各個別のIP毎分を何かをする、とさえ時間のためにそれらをブロックするように、IPによる要求を絞る(日?週?永遠?)彼らはあまりにも多くを行うにしよう。誰かが投稿を迷惑メールにしようとしていると、それはそれが何の効果もないことに気付かないでしょう。これは私が常にスパムとセキュリティに取るアプローチです。彼らはそれが動作していると思うが、そうではないことを確認してください。 – Archer

答えて

3

これは本当に未解決の質問ですが、リクエストがブラウザから発生したかどうかを確実に検出する方法はないと思います。ブラウザ以外のものを使用する正当な理由がある場合や、APIをより大きなプロセスなどに統合したい場合があります。

これは認証によって処理する必要があります。彼らがあなたのユーザーアカウントを無効にすることができます(手動または自動のいずれかの種類の乱用検知で無効にすることができます)。

0

ウェブフォームで認証が不可能または望ましい場合があります。その時私はフォームに埋め込んだサーバー上で生成されたキーを使用しました。

フォームは、データの残りの部分と一緒にキーを送り返し、あなたは、あなたがキーに基づいて作成する必要が任意の意思決定を行うことができます。 1つの投稿のみを許可してからキーを期限切れにするなど...

0

キャプチャを使用する:人間になることを証明するためのチャレンジがユーザーに提示されます。通常は、文字化けしたテキストフォームに記入された人に表示され、フォームの画像のテキスト内容を転記するために必要とされます。 captchaの解決策が間違っているか、APIへのPOSTリクエストが破棄されます。課題の

多くの種類は、一般的なオーディオ/ビジュアル/ロジック/ミニパズルとして使用されています。フォームに最適な方法でチャレンジをカスタマイズすることもできます。たとえば、GoogleはReCaptcha、jsとserver apiのcaptchaサービスを提供しています。

キャプチャは非常にコンピュータ用のハードが、人間にとっては容易である課題ですので、これは、あなたがボットを防止または軽減するのに役立ちます。ワンタイムキャプチャを使用して

はまた、あなたが心配しているリプレイ攻撃を防ぎトークン。また、チャレンジを受け取ったipとそれを解決しているipが同じであることを確認すると、他のトリックを緩和するのに役立ちます。

これは、決まった人間があなたのフォームを迷惑メールにする余地を残しています。だからあなたはまた、提出の数を把握し、それらをipで絞り込むべきです。

+0

その後、ハッカーたちは望ましいコンテンツを持つ無料のサイトを構築し(どのような種類のコンテンツが人を魅了するか想像力を使って)、訪問者がcaptchaの課題に答えるようにします!その後、彼らはあなたのサイトを再び持っています。 – ErikE

+0

@Enkeそのサーバーはプロキシーとして動作しなければならず、それは依然として単一のIPであるため、抑制され/ブロックされます。 Captchaスクリプトは通常、ページを呼び出すIPがcaptchaイメージをダウンロードしたものと同じであるかどうかをチェックします。*必要な*コンテンツを持つWebサーバーを設定することにお金を費やす代わりに、ハッカーに簡単にAPIを使用できる多くの利用可能なキャプチャ解決プラットフォームの1つで簡単に使用できます。 – beppe9000

+0

十分ですが、私は彼らがそれを作ることができない理由を見ていないので、POSTSはユーザーのWebページから直接発生するでしょうか? APIを解決するcaptchaについてのあなたの意見は良いことです。私は以前には納得できないと聞いたことがなかった! – ErikE

関連する問題