Есть ли веская причина, по которой переносы AntiXss.JavaScriptEncode приводят к одинарным кавычкам? - PullRequest
5 голосов
/ 15 мая 2009

Я использовал Microsoft AntiXss Library и мне было интересно, есть ли веская причина, почему его метод JavaScriptEncode заключает результат в одинарные кавычки? Такое поведение кажется нетрадиционным.

Ответы [ 2 ]

5 голосов
/ 29 мая 2009

На самом деле новая версия бета-версии 3.0 имеет флаг JavaScriptEncode (ввод строки, bool flagforQuote). При значении false вы получите результат без кавычек.

http://www.microsoft.com/downloads/details.aspx?familyid=051EE83C-5CCF-48ED-8463-02F56A6BFC09&displaylang=en

1 голос
/ 15 мая 2009

Вероятно, чтобы убедиться, что он возвращает строку. Использование, которое я видел, состояло в том, чтобы взять ввод и вернуть значение, которое вы можете назначить переменной в javascript.

var message = <% = AntiXss.JavaScriptEncode (message)%>;

Теперь, независимо от того, что было в сообщении, переменная js будет иметь точный экранированный ввод, поэтому, если какой-нибудь придурок попытается внедрить javascript в это сообщение, он просто увидит результат назначения своего сообщения переменной сообщения .

...