👩👩👧
クロスサイトスクリプティング対策:HTML内で利用する文字列をエスケープする方法(いろんな言語)
クロスサイトスクリプティング対策のためにHTMLにする文字列をエスケープする方法
個人的に使いそうな言語だけ記載しています。
PHP
htmlspecialchars
という関数が用意されてる。
参照:https://www.php.net/manual/ja/function.htmlspecialchars.php
Javascript
下記のようなコードで関数を用意しておくと良い様子。
function escapeHtml(text) {
var map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}
引用:https://stackoverflow.com/questions/1787322/htmlspecialchars-equivalent-in-javascript
Python
cgi
というモジュールにescape
という関数が用意されている。
import cgi
cgi.escape('<this & that>')
引用:https://stackoverflow.com/questions/20918146/how-to-do-html-escaping-in-python
Go
学習中なので調べてみました。
html
パッケージにEscapeString
が用意されている様子
unescaped := `<script>alert(123);</script>`
escaped := html.EscapeString(unescaped)
引用:https://stackoverflow.com/questions/38065765/how-to-escape-the-html-using-golang
Discussion