Моя страница ASP.NET содержит <asp:TextBox />
, текстовый ввод которого кодируется с помощью HttpUtility.HtmlEncode();
Страница также содержит валидаторы, такие как <asp:RequiredFieldValidator />
и <asp:CustomValidator />
, а также несколько наборов инструментов AJAX <toolkit:ValidatorCalloutExtender />
Если пользователь вводит </
в качестве текста в текстовом поле, возникает ошибка Javascript
A potentially dangerous Request.Form value was detected
from the client (ctl00$contentPlaceHolder$ucLookup$tbxLastName="</")
происходит при отправке формы. Я попытался добавить различные обработчики событий, такие как
protected void Page_PreInit(object sender, EventArgs e){}
protected void Page_Init(object sender, EventArgs e){}
protected void Page_PreLoad(object sender, EventArgs e){}
и установка точек останова, но ни одна из них не достигнута, что позволяет мне полагать, что ошибка происходит только на стороне клиента.
Как я могу отладить эту ошибку? Существуют ли какие-либо хуки, которые позволяют мне перехватывать ввод пользователя и фильтровать или кодировать его, прежде чем это вызовет эту проблему?