Поскольку атаки XSS основаны на возможности вставлять узлы DOM (<img />
, <script />
) и т. Д., А jQuery.fn.text()
не поддерживает это, он полностью безопасен для XSS.
Как вы можете видеть в этом базовом примере , все потенциальные HTML-теги кодируются в результате jQuery с использованием createTextNode
внутри:
jQuery('div').text('<test>a&f"#</test>');
Так что то, что вставлено на самом деле , более эквивалентно;
jQuery('div').html('<test>a&f"#</test>');