2012-05-13 28 views
-1

JSでクエリ文字列を暗号化して、汎用ハンドラで解読できないようにする必要があるという状況があります。あなたはこのためにいくつかのリンクをつけてもいいですか?ジェネリックハンドラでJavascriptと復号化のクエリ文字列暗号化

あなたはこれに他の方法を提案できますか?

私はあなたの上に機密データを送信する必要がある場合は多くのサイトに

www.somesite.com/SomeHandler.ashx?QueryStringData=ghsgysghetwRFDTVW5632

+2

クライアントがデータを暗号化する必要がある場合は、プレーンテキストも使用しています。 – Gumbo

+1

「読み取り不可能」とは「暗号化された」という意味ではありません。 –

+0

私はリンクを持っている必要があります。代わりに私はポストのデータをポストするためにフォームをハンドラを呼び出すためにajaxを使用して以来、get..butの代わりに投稿を使用する必要があります – krishgopinath

答えて

1

を適用する方法を見てきました潜在的に安全でないネットワーク(パブリックWiFiアクセスポイントなど)HTTPSを使用します。データの暗号化を担当し、重要なことは、通信の他の部分(サーバーから送信されたJavaScriptコードなど)が改ざんされていないことを保証することです。

HTTPSを使用しない場合は、中間者の攻撃者がブラウザに送信されたスクリプトを変更できるだけなので、JavaScriptで任意の種類の暗号化を行うことは常に安全ではありません。 HTTPSを使用する場合は、トランスポート層がサーバーとの間で送受信されるすべてのデータを暗号化しているため、JavaScriptで暗号化する必要はありません。

+0

私のページにhttpsを使用させるためのリンクはありますか?私の場合、私のページは、いくつかのハンドラへのajax呼び出しとして作成されます。私はページを作る場合(これらのクエリ文字列は暗号化されるでしょう)(ajax呼び出しの起点)httpsを使用しますか? – krishgopinath

+0

使用しているウェブサーバーによって異なりますが、[Googleで検索しています](https://www.google.com/search?q=how+to+set+up+https)だけで始める可能性があります。また、基本的なHTTPSが動作したら、[こちらを読む](https://www.eff.org/https-everywhere/deploying-https)を参照してください。 –

0

あなたのアプローチは一般的に安全ではありません。 Webインタフェースを介して汎用SQLインタフェースを公開しないでください。

特定のSQLコマンドだけを実行したい場合は、サーバー側で実装し、URLから必要なパラメータを抽出します。それ以外の場合はすべて、データベースのSQLインジェクションインターフェイスに直接つながります。