ですから、質問は私がもっと知りたいと思ういくつかのポイントを提起しますが、少なくとも物事を計画するために最善を尽くします...
ブラウザはパスにプライベート/セキュア情報を含むURLをキャッシュしているため、他の人にプライベート情報への潜在的なウィンドウを残します。影響:
- あなたが不在のときに誰かがあなたのコンピュータに近づいたり、おそらくリモートであなたのコンピュータにアクセスしたり、あるいは-適切な予防策がいくつかのレベルで取られていない場合-XSSメソッドを使用してjavascriptを介してキャッシュされたURLを取得する可能性があります。
そして懸念は正当ですが、あなたはすでにそれらを達成するためにあなたが取ることができるステップのいくつかが何であるかを示しました:
複数のウィンドウを開いてはいけません。いくつかはプライベートで、いくつかはそれほどプライベートではありません。プライベートブラウジングにはプライベートブラウザセッションを使用します。私は実際に、ある種の「ダークリスト」、つまり常にシークレットモードにする必要のあるドメインのリストを作成できるFirefoxアドオンのアイデアを思いつきました。そうすれば、銀行のサイトにアクセスしてTwitterにアクセスでき、さまざまなセッションがあることがわかります。
クローズするたびにすべての個人データを削除するように(または少なくとも削除を依頼するように)ブラウザを設定します。
サーバー側では、責任のあるWebアプリ設計者は、安全なサイトのURLで資格情報や個人データを使用してはなりません。それは滑らかではありません、それは怠惰です。ID番号やセッションIDはそれほど良くないと思います(ポイント2でそれについて説明します)。あなたの銀行は以下を使用する必要があります:/onlinebanking/UserServices/transactions
RESTful URLとして、サーバーレベルでIPに至るまで、各リクエストですべてを確認する必要があります(mod_authと非常に優れた証明書)。人々が「サーバーの負荷を減らす」あるいは「データベースのヒットを減らす」とさえ話すのを聞いて、私は非常に疲れ果てています。このソフトウェアは、大量のリクエストを受信するように明示的に設計されています。6年前に製造された私のHPラップトップは、古い冷蔵庫がサーバーの作業負荷を軽減するように設計されていないように聞こえます。設計が不十分なjsスクリプト(新しいYahoo!メールクライアントを参照)を10分間待つと、刺したくなります。そして、悪用された巨大なサーバーが処理することを期待できるものが他にない場合は、毎回セキュリティを確保する必要があります。
さて、その暴言は終わりました。
- あなたの兄弟はあなたのキャッシュされたURLを見ることができますか?多分。私のガールフレンドは、履歴をクリアしてもxxxサイトにアクセスしたことを知ることができます(なぜですか?最近閉じたタブに表示されるためです!プライバシーが守られます!)そして、それらはRESTfulnessのためにキャッシュされておらず、キャッシュされていますそれがブラウザが行うことです。したがって
iamgoingtokillhimtonight/posts
、URLに含まれているサイトにアクセスした後は、自分自身をカバーするのと同じ予防策を講じる必要があります。ポルノサイトにアクセスしたとき、または誕生日プレゼントのアイデアを探しているときです。
私の解釈の一部に:
そうです、URLはキャッシュされており、そのキャッシュを熟読してビジネスに参入したい人にとっては気味が悪いです。しかし、あなたが表現している他の懸念は、彼らがそれを使って何ができるか、つまりクロスブラウザエクスプロイトであるようです。誰かがそのキャッシュされたURLを使用して、実際の銀行情報にアクセスしてあなたを一掃するためのスクリプトを作成できますか?はい。しかし、これを行う方法をすでに知っている場合に得られる利点はわずかです。それは、彼らに一歩を保存してから、鍵をドアにぶら下げたままにしておくようなものです。どういうわけかjs経由でキャッシュを確認でき、安全な銀行のURLを確認できれば、かわいいURLを使用していなくても、銀行のURLを簡単に確認でき、XSSを簡単に記述できます。そして、私があなたのキャッシュを見ることができれば、私はあなたのクッキーを確実に見て、それらを盗むことができます(ウェブ上でのみ、キャッシュよりも価値のあるクッキーがあります)。したがって、AJAX以前の同じルールが適用されます。
- ユーザーはパスワードを書き留めてはいけません
- セッションCookieはセッションの終了時に期限切れになる必要があります
- Webアプリは、ユーザーの要求の整合性と信頼性を確保するために、ホワイトリスト、証明書、およびナンスを使用する必要があります。
XSSの成功が、開発者(私自身を含む)の怠惰(または無知)とユーザーの混乱と素朴さに基づいていることを十分に強調することはできません。最も大きなXSSスコアには、インターネットハッキングの前のソーシャルハッキングが含まれます。フィッシング詐欺または旧友やスペインの囚人からの手紙。この無実のリンクをたどるか、意味のない個人情報を共有するように求められます。あなたの銀行の例でさらに悪化することがわかったのは、このサイトからあなたの名がAlexであり、URLからあなたの姓がForesterであることがわかったということです。これにより、詳細を掘り下げて他の情報を簡単に見つけることができる場合があります。
それで、それの長短、最後に:
RESTfulnessとAJAXは、ブラウザーの履歴やサーバーのセキュリティの悪さほど脅威にはなりません。そのため、ユーザーと開発者の両方に同じルールが適用されます。しかし、そのようなRESTful URLが、これらのプラクティスについては良くなるのではなく悪化していることを指摘していることは完全に正しいです。アドバンテージを使用して実際のハードワークに集中するのではなく、テクノロジーを使用して怠惰になります。
楽しかったです。塩採掘に戻ります。