2011-01-11 1 views
0

кажется следующей разметка оказывается по-разному в Firefox и Chrome, и я не уверен, как предотвратить это:инъекционного UrlEncoded строки в страницу - Firefox против Chrome

<%= HttpUtility.UrlEncode("+") %> 
<%= "<a href='#' name='" + HttpUtility.UrlEncode("+") + "'>stuff</a>"%> 

В Firefox это выглядит следующим образом: %2b<a name="+" href="#">stuff</a>
В Chrome это выглядит следующим образом: %2b<a name="%2b" href="#">stuff</a>

есть ли способ вокруг него?

ответ

0

Это просто разница в способе отображения Firebug и инструментов разработчика Chrome. Если вы просмотрите источник, вы найдете %2b в обоих случаях, и именно так оно и будет, если вы ссылаетесь на него в скрипте (или в ссылке, например, <a href="#%2b">).

+0

Это не только инструменты для разработчиков. Если я делаю postback с именем в качестве аргумента, я получаю декодированную строку в Firefox и исходную строку в Chrome. Это проблема, которую я испытываю. – Shagglez

0

Я столкнулся с этой проблемой, вручную проверив код позади, вернулась ли строка, содержащая «+» или «=» и UrlEncoded. Хотя это не очень хорошее решение, это было приемлемо в моем случае, так как я знаю, что декодированная строка содержит как «+», так и «=», поэтому я могу сделать вывод о том, была ли она закодирована в зависимости от того, присутствовали ли они.

 Смежные вопросы

  • Нет связанных вопросов^_^