itsDangerous —ItsDangerousドキュメント

提供:Dev Guides
Itsdangerous/docs/1.1.x/index
移動先:案内検索

それは危険です

class=align-center|_images/itsdangerous-logo.png 信頼できない環境にデータを送信したい場合があります。 しかし、これを安全に行う方法は? 秘訣は署名です。 自分だけが知っている鍵があれば、データを暗号で署名して他の人に渡すことができます。 データを取り戻すと、だれもデータを改ざんしていないことを簡単に確認できます。

確かに、受信者はコンテンツをデコードしてパッケージを調べることができますが、秘密鍵も持っていない限り、コンテンツを変更することはできません。 したがって、鍵を秘密にして複雑にすれば、大丈夫です。

内部的には、ItsDangerousはデフォルトで署名にHMACとSHA-512を使用します。 最初の実装は、 Djangoの署名モジュールに触発されました。 また、JSON Web Signatures(JWS)もサポートしています。 ライブラリはBSDライセンスです。

インストール

pip を使用してインストールおよび更新します。

pip install -U itsdangerous

ユースケースの例

  • URLでユーザーIDをシリアル化して署名し、それを電子メールで送信して、ニュースレターの購読を解除できます。 このように、ワンタイムトークンを生成してデータベースに保存する必要はありません。 アカウントなどのあらゆる種類のアクティベーションリンクでも同じことが言えます。
  • 署名されたオブジェクトはCookieまたはその他の信頼できないソースに保存できます。つまり、サーバーにセッションを保存する必要がないため、必要なデータベースクエリの数が減ります。
  • 署名された情報は、一般にサーバーとクライアント間を安全に往復できるため、サーバー側の状態をクライアントに渡してから元に戻すのに役立ちます。