Кодировка JavaScript для потенциально опасных запросов - PullRequest
2 голосов
/ 20 марта 2012

Итак, я столкнулся с вездесущей проблемой "потенциально опасного запроса" ASP.NET несколько раз в разных контекстах.При использовании CKEditor у меня был довольно хороший успех в победе над ним с помощью общего предложения, чтобы установить для опции "htmlEncodeOutput" значение true.В других случаях я использовал другое широко распространенное предложение о возврате проверки страницы к более старой версии, которая, по сути, говорит серверу игнорировать проходящий HTML.Итак, хорошо.

Но я не смог понять, как самостоятельно кодировать текст (и сохранить проверку на месте).В диком ударе в темноте я попробовал функции escape () и encodeURI () JavaScript, а также небольшую функцию string.replace (), которая превратила скобки в> и <.Казалось, ничего из этого не сработало.В самом последнем случае я зашифровал размер текстового сервера, используя «HttpUtility.HtmlEncode», отправил его в браузер и попытался отправить обратно.Ап выскочил «потенциально опасный запрос».Arg. </p>

Имеются ли какие-либо рабочие образцы функции JavaScript, которые будут делать то, что делает функция CKEditor "htmlEncodeOutput"?Я бы очень признателен за любые советы.

1 Ответ

1 голос
/ 20 марта 2012
function htmlEncode(s) {
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;')
      .replace(/>/g, '&gt;').replace(/"/g, '&quot');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...