【JavaScript】XSS対策で最低限のサニタイズ(エスケープ)をする
TypeScriptでライブラリを使わずに特殊文字を最低限サニタイズする。
function sanitize(str: string): string { return str.replace(/&/g, '&') .replace(/'/g, ''') .replace(/"/g, '"') .replace(/</g, '<') .replace(/>/g, '>')}
よりシンプルな方法。
const ESCAPE_RULES = { '&': '&', "'": ''', '"': '"', '<': '<', '>': '>',};
function sanitize(str: string): string { return str.replace( /[&'"<>]/g, (match) => ESCAPE_RULES[match], );}
対象の特殊文字を列挙しておく方法。こちらの方がスッキリする。