Python のFlask Web アプリ フレームワークを学習し始めていますが、まだ学習曲線上にあります。ご容赦ください。
安全な Web アプリケーションの目的で、クライアント側のセッションがどの程度適切か疑問に思っています。どうやら、深刻な懸念事項がいくつかあります。
- すべてのセッション変数はシリアル化され、Cookie にエンコードされるため、そこに保存されるデータの量に注意して、行き来する HTTP データのサイズを適切なサイズに保つ必要があります。
- 同一のキー/値セットに同一のシリアル化された値があるかどうかはわかりませんが、あるセッションで Cookie 値をフェッチして保存する場合、暗号化されていても同じ値を別のセッションで別の時間に戻すことはできませんか? 、そしてそれらが本物のセッション変数値であるとサーバーに信じ込ませますか? ユーザーがある日に許可されていることは、同じことが別の日にも許可されていることを意味するわけではありません。そして、それらのセッション変数の値を常に安全に証明する必要がある場合、それらを「キャッシュ内」に保持することに何のメリットがあるでしょうか? 次に、きれいな GET URL を使用できるようにする以外の目的はほとんどありません (つまり、いくつかのパラメーターを持つ醜いクエリ文字列の代わりに)。
したがって、おそらく私が探している答えは、可能性のある中間者攻撃(もちろん、安全でないhttpセッションの場合)またはCookie値を保存する高度な悪意のあるユーザーを考慮して、Flaskクライアント側セッションの制限です後でそれらを中継するため。