Производительность Server.Htmlencode по сравнению с Regex.Replace и String.Replace - PullRequest
2 голосов
/ 02 июня 2011

Какой самый быстрый в приложении ASP.NET? Попытка поймать все манеры непослушного XSS / CSRF и тому подобное.

Server.HtmlEncode перед отображением, вызовы String.Replace (один за другим) или сложное регулярное выражение, за которым следует Regex.Replace?

Спасибо за любую информацию

Ответы [ 2 ]

6 голосов
/ 02 июня 2011

Вы бы использовали Server.HtmlEncode ... это не просто "скорость", а тот факт, что , что - это то, для чего предназначена технология.Вполне вероятно, что вы забудете что-то в вашем .Replace (). Replace (). Replace (что также медленнее).

Немного объяснений

Имейте в виду, что "Server.HtmlEncode "выполнит один потоковый проход через вашу строку, тогда как .Replace (). Replace (). Replace () сделает несколько проходов, чтобы сделать одно и то же.чтобы анализировать и компилировать накладные расходы в Regex.

4 голосов
/ 02 июня 2011

Я бы сказал, что вы, вероятно, никогда не восстановите количество времени, необходимое для публикации этого вопроса. Server.HtmlEncode выполняет свою работу, делает это правильно и работает «достаточно быстро». Вы на самом деле видите проблемы с производительностью?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...