AJAX 経由でリクエストを行う Web アプリを作成していて、それらの呼び出しをロックダウンしたいと考えています。少し調査した後、何らかの形式のランダム トークン (文字列) を使用して、要求と共に返すことを検討しています (GUID?)。私のアルゴリズムの重要な部分は次のとおりです。
- トークンを JavaScript 変数 (サーバー側で生成) に割り当てます。
- また、そのトークンを DB に保存し、有効な期間 (つまり 10 分) を与えます。
- トークンがまだ使用されておらず、有効な時間枠内にある場合は、呼び出しを許可します。
- 有効な場合は要求された情報を返します。そうでない場合は、要求をログに記録して無視します。
セキュリティに目を向けると、これは理にかなっていますか? トークンの場合、GUID は機能しますか?それは別のものにする必要がありますか? リクエストで変数を暗号化する良い方法はありますか?
編集:
これらの AJAX リクエストが真に「安全」ではないことは理解していますが、私が作成しようとしているサービスを他のユーザーが使用できないようにするという意味で、基本的なセキュリティを追加したいと考えています。このランダムなトークンは、嫌がらせ電話に対する基本的な最前線の防御になります。要求されるデータ (およびそのようなデータを生成するために送信されるデータ) が繰り返される可能性はほとんどありません。
GUID の使い方が間違っているのかもしれません... ランダムに生成された文字列 (トークン) はどうですか?