Javascriptでは、C++のようにプライベートなデータやメソッドをオブジェクトに渡すことはできません。ああ、実際は、そうです、閉鎖を含むいくつかの回避策を介して。しかし、Pythonの背景から来て、私は "プライバシーを偽装する"(命名規則とドキュメンテーションを介して)十分であるか、あるいは "プライバシーを強制する"(Javascript自体によって強制される)方が望ましいと考える傾向があります。確かに、私はこれが真実でない状況を考えることができます。 RTFMを使わないで私のコードと人のインタフェースが合っていますが、私は非難されますが、私はそのような状況にはありません。javascriptの「偽のプライバシー」はセキュリティ上のリスクを伴いますか?
でも何かが私に中断を与えます。 Javascriptの達人、Douglas Crockfordは、「Javascript:The Good Parts」などで繰り返し「セキュリティ」の問題として偽のプライバシーを参照しています。 For example "攻撃者はフィールドに直接アクセスして、そのメソッドを自分のものに置き換えることができます"。
私はこれで混乱しています。私が最小限のセキュリティプラクティス(検証、盲目的にブラウザから私のサーバーに送信されたデータ、自分のサイトにサードパーティ製のスクリプトを検査せずに含めないでください)を実行すると、偽装 - プライバシーは、強制されたプライバシーよりも「安全」ではありません。そうですか?もしそうでなければ、ふりをするプライバシーと強制されたプライバシーがセキュリティの意味を持つ状況は何ですか?
サードパーティのスクリプトを「検査する」ことは、いくつかの種類のサイトにとって深刻な課題となります。他のサーバーからスクリプトを引き出している場合は、いつでも変更することができます。 – Pointy
自分のサイトに悪質な第三者のスクリプトを含めると、強制的なプライバシーのコーディング方法を使用すると、スクリプトが引き起こす混乱を緩和することはほとんどありません。たとえば、スクリプトはページ上のHTMLの一部または全部を書き換えることができます。サーバの代わりに悪意のあるサーバにユーザのパスワードを送ることができます。 –
はい私は同意します。それは "悪い"私が思うように "悪"についてそれほどではありません。広告主が敵対的ではないと想定するのは一般的に安全ですが、無能である可能性もあります。 – Pointy