2

Inspectelement>sourceなどを介してブラウザでJSコードを表示できることを認識しています。たとえば、次のコードがあり、「ソース」の下に表示できます。

$.ajax({
    url: baseUrl + 'location/insert_user_location',
    type: "post",
    data: {address:address,lat:lat,lng:lng,acc:acc},
}).done(function(){
    getUserLocation();
});

これは安全ではありませんか、それとも重要ですか?

4

5 に答える 5

3

これが安全でない理由はわかりませんが、クライアントから送信されたもの、またはクライアントで計算されたものはすべて安全でない可能性があり、有効であることを確認せずにこのデータを信頼できない可能性があることを常に心に留めておく必要があります...一度もない。

于 2012-09-29T17:11:15.350 に答える
3

Javascript を隠すためにできることはあまりありません。転送中に「暗号化」したり、なんらかの形で隠したりしたとしても、最終的には JavaScript インタープリターがそれを使用することを明確にする必要があります。機密データの場合、それが重要な問題である場合は、コードに入れることを避けます。

于 2012-09-29T17:11:31.417 に答える
3

いいえ、安全ではありません。URIlocation/insert_user_locationはサーバー側で正しく保護されているからです。同じ理由で、クライアント側のフォーム検証を信頼してはならず、常にサーバー側で同じ検証を実行してください。

クライアント側で JavaScriptを「隠す」方法はありません。情報がどれほど深く隠され、難読化されていても、ハッカーは常にそれを分析できます。

于 2012-09-29T17:12:23.313 に答える
3

vzhen、ブラウザーでユーザーに JavaScript コードを返せば、誰でもあなたの JavaScript コードを見ることができます。個人情報 (ユーザー パスワードや JavaScript の API キーなど) を入力せず、クライアントを信頼しない限り、セキュリティ上の問題はありません。

これは、Ajax 経由でサーバーに送信される可能性のあるものはすべて信頼してはならないことを意味します。

于 2012-09-29T17:12:23.270 に答える
1

この場合、クライアント側の検証はあなたの友達です。クライアント側のコードについてはあまり心配しません。誰もが入手できるように公開されているものとして扱います。クロスサイトスクリプティングは、サーバーとコードベースのセキュリティに力を注ぐこと以外の1つの懸念事項です。

于 2012-09-29T17:17:09.713 に答える