HTMLエスケープの注意点 昨日、このような記事がはてブに上がっていた。 innerText(textContent)/innerHTMLを使ったHTMLエスケープは充分でないので今すぐやめろ、お前たちはもう終わりだ 要約するとreturn $('<div />').text(content).html()を使用したやり方だと「"」などをエスケープしないので.replaceで置き換えたものを使いましょうという話。 ただし、元記事のコードだと`(グレイヴアクセント)の置換処理が入っていなかったので下記のように書き換えるほうが良さそうだ。 var str = '& < > ` " ' + "'"; var escapeHtml = (function (String) { var escapeMap = { '&': '&', "'": ''', '`': '`',
![jQuery(JavaScript)でHTMLエスケープするときの注意点と対処法](https://cdn-ak-scissors.b.st-hatena.com/image/square/5041513c0058706b30e47e483807ad839fd28082/height=288;version=1;width=512/https%3A%2F%2Fiwb.jp%2Fwp-content%2Fuploads%2F2015%2F02%2Fjquery-javascript-html-escape-img.png)