3

サーバー側のプログラムに POST リクエストを送信して何らかの処理を行うプログラムを作成することを検討しています。POST リクエストが、システムなどを圧倒しようとするランダムなスパマーではないことを確認するために、何らかの検証を検討したいと考えています。私はこのことについてあまり知りませんが、クライアントが日付番号と「暗号化された」日付番号を送信する可能性があると考えていました(安全に暗号化されておらず、特別なアルゴリズムを使用しているだけです)。サーバーは、日付番号を暗号化し、クライアントで暗号化された日付番号を復号化します。暗号化された日付番号または復号化された日付番号のいずれかが一致しなかった場合、明らかにクライアントからのリクエストではないため、サーバーはリクエストに応じません。

おっしゃるとおり、これについてはよくわかりません。私はそれを正しい方法で行っていますか?より良い方法はありますか?これでよければ、どこで「暗号化」アルゴリズムを探しに行くことができますか? (私が見つけたアルゴリズムのほとんどは安全な暗号化のためのものであり、同じマシン上でのみ復号化できます。セキュリティについてはあまり気にしません。検証を探しているだけです)。

助けてくれてありがとう。

PS何を検索すればよいか本当にわからなかったので、これが重複しているかどうかはわかりません。これに関する他の質問は見つかりませんでしたが、それは何の意味もありません。

編集:明確にするために、サーバーコードは可能な限り「ドロップイン」する必要があります-たとえば、サーバー構成をいじるのではなく、直接PHPまたはASP.NETを使用して実行できる場合、それはより良いでしょう. クライアント側でも同じです。これは安全である必要はないことに注意してください。スパマーが無作為なデータを何百万回も投稿するのを防ごうとしているだけです。

4

3 に答える 3

1

SSL とクライアント証明書を使用して、Web サーバーに透過的に処理させることができます。このようにして、サーバーとクライアントの両方が (多かれ少なかれ) 誰と話しているかを確認できます。
あなたのウェブサーバーは何ですか?IIS、アパッチ、... ?
Apache の場合は、httpd 2.2 ドキュメントの Client Authentication and Access Control をご覧ください。
IIS の場合は、「IIS 6.0 でクライアント証明書を有効にする (IIS 6.0) 」を参照してください。

于 2009-08-19T14:09:05.133 に答える
1

暗号ナンスを使用してみてください。

  1. POST が開始されたページで乱数が生成され、要求元の IP アドレスと有効期限 (15 ~ 30 分?) とともにデータベースに保存されます。
  2. 同じ乱数が POST 変数として格納されます。
  3. POST で処理が行われるためには、有効期限が切れる前にナンスと IP アドレスに一致するルックアップが成功する必要があります。

ハニーポット キャプチャと組み合わせると、ボットによるシステムへの負担を防ぐのに役立ちます。

于 2009-08-19T14:16:19.320 に答える
0

このような問題に対する通常のアプローチは、HMACを含めることです。秘密鍵を使用することにより、完全性チェックと送信者認証が可能になります。

于 2009-08-19T14:19:38.957 に答える