1

私はAJAXを介して多くのことを行うアプリケーションを構築していますが、それらの多くはuserId、documentid、photoidなどを取り込む必要があります。

これらのIDのベストプラクティスと見なされるのは、暗号化する必要がありますか(htmlページに配置する前に)、それともそのまま送信するだけですか?

4

2 に答える 2

1

IDで何をしているかによります。サーバー上でステートレスなアプリケーションを構築しているため、エンティティを取得し、必要なビジネスロジックを適用して永続化するために、リクエストの一部としてIDを送信します。この場合、安全でない直接オブジェクト参照を防ぐために、IDを暗号化する必要があります。

他のオプションもあります。たとえば、サーバー上のエンティティに変更を適用する前に、そのエンティティに承認を適用できます。もちろん、これは認証機能があることを前提としています。私たちの場合、認証を行わないため、この種の承認は機能しません。

これを更新するだけで、クライアントで暗号化されていないIDは必要ありません。したがって、IDを暗号化して最初の応答を送信するサーバーが必要になります。暗号化されたIDを含む後続のリクエストが行われます。

于 2012-09-25T22:58:03.883 に答える
1

特定の行のIDを(データベースから)本当に非表示にしたい場合は、それらを非同期で暗号化してCookieとして設定するだけです。そうすれば、とにかく利用できるようになるので、ajaxリクエストを行うときにそれらを気にする必要はありません。

いくつかの選択を行い、フォーム送信の結果としてそれらを送信する場合は、Cookieを使用しない同じ暗号化方法が機能します。

しかし、正直なところ、データベースIDを暗号化する理由はほとんどわかりません。

于 2012-09-25T22:59:26.810 に答える