JavaScriptをES5で書かざるを得ない場面があり、でもnodelistに対してforEachを使いたいので
if (window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = Array.prototype.forEach; }
と書いて使っている時がありました。
で、先輩から「Prototype拡張しないほうがいいよ!!」「Prototype汚染というのがあるよ」と。
Prototype汚染って何…となったので、調べます。
要はバックエンド側でのJSで攻撃に使用可能になる、ということだろうか。クライアントサイドで動かす分には問題なくて、Node.jsでは悪用出来る…?