リクエスト時には、ユーザーID 付きの POST フォームが必須なので、POST フォームのユーザーID をログに記録できれば、そのユーザーID へのアクセスを 1 時間あたり n 回 (1 時間あたり 3 回が適切だと思います) に制限する方法があると思います。 (つまり、ユーザーID "A" は 1 時間に 3 回しかアクセスできず、ユーザーID "B" も 1 時間に 3 回しかアクセスできない、ということになります)
しかし、それをどうやって行うのかがわかりませんでした。
これは、他のサービスを提供するためにリクエストをプロキシするだけです。現在は apache2 で ProxyPass のみを使用しているため、apache2 構成内で構成する必要があります (と思います)。
それを実行する方法はありますか?
答え1
これは Web サーバー レベルではなく、アプリケーション レベルで行う必要があります。つまり、POST 後に、アプリケーションはユーザーに「短時間にリクエストが多すぎます。後でもう一度お試しください」などと伝える必要があります。
私の知る限り、Apache Web サーバー (ただし、これは IIS にも当てはまります) は、HTTP パラメーター (Web サイトや URL など) またはネットワーク パラメーター (ソース IP アドレスや帯域幅の使用量など) を使用してのみ要求を制限できます。
(間違っていたら訂正してください。私は Apache の専門家ではありません。)
答え2
を見てみましょうこのmod_securityの使用例クッキーや URI コンテンツを使用できるため、POST データも抽出できる可能性があります。または、IP を取得してそれを使用するだけで、誰でもフォームに別のユーザー名を入力して回避できます。