私は確かに、いくつかの不可解な理由のために、Javascriptを使ってクッキーを操作するサイトはまだたくさんあると確信していますが、実際に起こりうるすべてのXSSに照らしてこれを許可する正当な理由はありません。なぜブラウザはこれをまだ許可していますか?単にJSがクッキーを見るのを妨げないのはなぜですか?ブラウザでもJavascriptにCookieが表示されるのはなぜですか?
答えて
私は、この質問は「ブラウザがまだHTML、それとも古いものをサポートしているのか」と似ていることを認めなければなりません。下位互換性は大きな問題であり、クッキーを操作する既存のjavascriptコードをすべて切り捨てると悲惨です。
と言われています。つまり、クッキーのjavascript操作が、クロスサイト通信などに役立つ場合もあります。
このようにして、AJAXリクエストを行わずにCookieに直接設定し、サーバー側のsession/user_profileに保存することができます。これは、セッションが終了したときに設定を表示するために登録する必要がないため、Webサイトやサーバー側を再訪したときに保持したいUI設定に便利です。
そして、クッキーなしでセッションをどのように実装しますか? URLパラメータを使用していますか?それはクッキーより悪いです。 –
+1。 username = sean&password = 1234のCookieは、Web開発者の立場からばかげているだけです。しかし、hide_tips = trueのクッキーは、とにかく無害です。 – seanmonstar
サーバー側からhttponly Cookieを設定することはできますが、JavaScriptではそれらを見ることができません。それはあなたが望む効果を与えるでしょう。
私は時々、クライアント側で使用されているにもかかわらず、ブラウザがすべてのリクエストでCookieをサーバーに送信するという点で、javascriptからのクライアント側のデータを少量保存することに頼っています側。
しかし、すべてのブラウザがHTTPOnly Cookieを理解するわけではありません。彼らが理解していても、その中にはバグがあります。 –
XMLHttpReponseハックのブラウザサポート/ステータスの表:http://www.owasp.org/index.php/HTTPOnly#Browsers_Supporting_HTTPOnly まだXSS攻撃に対してCookieを放棄している100%以上のブラウザ。 – russau
そして、明確にすることができます。 JavaScriptを操作するJavaScriptは、合理的かつ合理的です。それ自体は、XSSの問題を作成しません。ひどく書かれたサイトがあります。
- 1. ブラウザに何も表示されないのはなぜですか? (vue.js 2)
- 2. リンク先ページにCookieが表示されないのはなぜですか?
- 3. ブラウザに自分のモジュールが表示されないのはなぜですか?
- 4. 私の.gifがブラウザに表示されないのはなぜですか?
- 5. タイムラインにJavaScriptのメモリリークが表示されますが、ヒープスナップショットは表示されないのはなぜですか?
- 6. Perlソースコードがブラウザに表示されるのはなぜですか?
- 7. Monotype Corsivaがブラウザに表示されないのはなぜですか?
- 8. アップロードしたページがブラウザに表示されないのはなぜですか?
- 9. カスタムスクロールバーがブラウザに表示されないのはなぜですか?
- 10. イメージがブラウザに表示されないのはなぜですか?
- 11. ブラウザでカレンダーが表示されないのはなぜですか?
- 12. データをエクスポートすると、ブラウザにブラウザが表示されないのはなぜですか
- 13. ModalPopupExtenderがJavaScriptで表示されないのはなぜですか?
- 14. ブラウザを調整しても画像が表示されないのはなぜですか?
- 15. ChromeとSafariで、一部のサブドメインでCookieが表示されないのはなぜですか?
- 16. HTTPS中にブラウザのCookieやその他のヘッダーが表示されますか?
- 17. XIncludeがどのブラウザでもサポートされないのはなぜですか?
- 18. が表示されなくなるのはなぜですか?
- 19. NoSuchMethodError:mainがアプレットに表示されるのはなぜですか?
- 20. キャンバスにジオメトリドローイングが表示されるのはなぜですか?
- 21. アドレスバーに/#!/が表示されるのはなぜですか?
- 22. mscor.libに「System.EntryPointNotFoundException」が表示されるのはなぜですか?
- 23. DropDownListに "System.Web.Mvc.SelectListItem"が表示されるのはなぜですか?
- 24. JSXの内部で使用すると、オブジェクトデータがブラウザに表示されないのはなぜですか?
- 25. ステータスバーがシャドウで表示されるのはなぜですか?
- 26. setBackgroundResourceForDateが赤で表示されるのはなぜですか?
- 27. FirefoxではJPGが表示されますが、IEでは表示されないのはなぜですか?
- 28. IE 8では圧縮されたCSSが表示されますが、他のブラウザでは表示できないのはなぜですか?
- 29. Javascript動的HTML5テーブルが表示されないのはなぜですか?
- 30. 一部の画像がIEでは表示されないが、他のブラウザでは表示されないのはなぜですか?
基本機能なので、それが煩わしい場合はNoScriptを使用してください。 – voyager
これは私のことではなく、巨大な維持不能なコードベースでXSSの脆弱性を利用してクッキーを手に入れたユーザーのことです。私たちはゼロから再構築したいのですが、禁止しています。 :) – dirtside
http://www.codinghorror.com/blog/archives/001167.html HTTPクッキーはクールです... – russau