0

スレッドからのフォロー iOS6のSafariは$.ajaxの結果をキャッシュしていますか?

io6 safariが一意でないajax呼び出しからの結果をキャッシュしている場合は、呼び出し自体もキャッシュしている必要があります。これは、ログイン状況でユーザー名とパスワードをキャッシュし、それによってセキュリティリスクをもたらすことを意味しますか?

4

1 に答える 1

1

短いバージョン:ユーザー名とパスワードをプレーンテキストでネットワーク経由で送信している場合、すでに大きなセキュリティホールが開いています。

長いバージョン:ブラウザはURIに基づいてキャッシュするため、ユーザー/パスをGET変数として送信する場合は、はい、キャッシュします。はい、セキュリティ上のリスクがあります。ただし、ブラウザがこれをキャッシュしなかった場合でも、何か問題が発生しています。サードパーティは、HTTPヘッダーを確認するだけで、ユーザー/パスが何であるかを確認できます。

これをPOSTとして送信する場合、ユーザー名/パスワードを見つけるのは少し難しくなります。URLは常に同じであるため、ブラウザはリクエストをキャッシュしません。ただし、リクエストの内容を読み取ってユーザー/パスを見つけることは引き続き可能です。

最も安全にするには、HTTPSを使用し、POSTを介して値を渡します。ヘッダーを含むHTTPリクエスト全体が暗号化されます。ただし、ブラウザは引き続きURLをキャッシュするため、GET変数を使用することは依然としてお勧めできません。

ajaxでのPOSTの使用に関するjQueryドキュメントの例:

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});
于 2012-09-22T20:08:42.360 に答える