0

私の Django サイトはスパムに対して脆弱なので、キャプチャ保護を組み込みたいと考えています。問題は、多くのコンポーネントがサードパーティのソースからのものであり、キャプチャ検証が含まれていないことです. ビューを変更することはできますが、それはコードの移植性/アップグレード性に影響を与えるため、むしろ変更したくありません。テンプレートを変更することしかできません。

解決策はありますが、少し面倒です。実装を開始する前に、より良い解決策があるかどうかを確認したいと思います。

私の解決策は次のとおりです。

1)サイト上のすべての投稿フォームをリダイレクトして、投稿リクエストをプログラムで再構築する「キャプチャバウンス」アプリをターゲットにし、キャプチャが正しいかどうかを確認し、確認トークンを投稿に追加してから、元の投稿ターゲットにリダイレクトします。

2) すべての投稿リクエストをチェックする新しいタイプのミドルウェアを実装します。ポスト リクエストが「キャプチャ バウンス」URL を対象としていない場合、検証トークンが存在しない限り、ミドルウェアはエラーを返します。

前に言ったように、これは不必要に面倒に思えます。誰かがより良いアイデアを持っていますか?

4

2 に答える 2

0

アプリのメッセージによって異なりますが、次のようになります。

  • 通常、ビューをビューにラップして、処理を追加できます
  • フォームを拡張してキャプチャフィールドを追加できます
  • 追加のJavaScriptチェックであるtemplate-tagを追加して、テンプレートに追加することができます。
于 2012-08-12T09:27:29.487 に答える
0

わかりました、私はそれを理解しました。これは、ミドルウェアを使用するだけで実行できるはずです。キャプチャの正確性をチェックする必要があるビューのリストを与えるだけです。間違った応答の場合は、リクエストからポストを切り取るか、ある種のエラー変数を有効にします。はるかに簡単です。

于 2012-08-13T05:06:07.430 に答える