2016-03-31 10 views
-3

私は分散アプリケーションの1つにリッチテキストエディタを開発して、ユーザーがそのエディタにコメントを入力できるようにしています。ここでは、ユーザーがキーボードからコメントを入力し、インターネット、MS-Wordなどの外部ソースからコメントを貼り付けることができるようになりました。ここでは、ユーザーが入力した内容を1文字も取り除かずに保存する必要があります。javaまたはjavascriptを使用して特殊文字を削除せずに処理する方法

私はコメントを暗号化してデータベース側に保存する必要があると思っていましたが、ユーザーはコメントを見たいと思ってデータベースから取得し、解読してユーザーに表示しました。しかし、この問題によって、データベース内の暗号化されたデータ/コメントがさまざまなアプリケーションで使用されるため、他のすべてのアプリケーションで同じ暗号化および復号化メカニズムを実装する必要があります。

だから、誰かがこれについてより良いアイデアを持っている場合。答えを投稿してください。

ありがとうございました。

答えて

1

"encrypt"私はあなたが"escape" or "encode"を意味すると仮定していますか?

そうでなければ、なぜコメントを暗号化する必要がありますか?暗号化されたデータに対してデータベース検索を実行することはできません。また、攻撃者がデータベースにアクセスし、同時にアプリケーションをリバースエンジニアリングすると、データを復号化することができます。あなたのアプリケーションについて少し詳しく説明していますが、単純な「コメント」を暗号化するのは意味がありません。

生データをデータベースに格納し、ユーザーに表示するときにエスケープする方が一般的に適しています。たとえば、ユーザーがデータベースに入力したテキストのHTMLをエスケープしたいとします。したがって、テキストを挿入する前にすべてのHTMLタグをエスケープしました。しかし、1年後には、アプリケーションの1つを改善し、この特定のアプリケーションに対して<b><i>を許可します。そのような場合は、データベース内の元の生データにアクセスし、必要なときに、つまりユーザーに表示する前にエスケープすることがより望ましいです。

hereについて詳しく読むことができます。

+0

お返事ありがとうございます。はい、当然ですが、少数のキャラクターしか許すべきではないと考えれば、要件は変わるでしょう。そのため、ユーザーが入力した生データを保存しなければならない特殊文字は気にしませんでした。ここでは、特殊文字、特に拡張アスキー文字が問題になります。 – Creator

関連する問題