青いやつの進捗日記。

べんきょうのしんちょくをかいていきます。

Prototype汚染って何…?

JavaScriptをES5で書かざるを得ない場面があり、でもnodelistに対してforEachを使いたいので

if (window.NodeList && !NodeList.prototype.forEach) {
NodeList.prototype.forEach = Array.prototype.forEach;
}

と書いて使っている時がありました。

で、先輩から「Prototype拡張しないほうがいいよ!!」「Prototype汚染というのがあるよ」と。

Prototype汚染って何…となったので、調べます。


qiita.com

devsway.net

要はバックエンド側でのJSで攻撃に使用可能になる、ということだろうか。クライアントサイドで動かす分には問題なくて、Node.jsでは悪用出来る…?