Вопрос о кодировке HTML - PullRequest
1 голос
/ 17 июля 2010

Я использую jquery datatables и библиотеку MS XSS.

Я сделал это

AntiXss.HtmlEncode(MyDate.ToString("MM/dd/yyyy h:mm tt"))));

, что делает это

07/22/2010 4:04 PM

Так что все закодировано.Теперь, по какой-то причине, это беспорядочные данные.Он не может понять, как сортировать больше.

Так почему он кодирует косые черты и точки?что в них такого плохого?когда он отображается в браузере, выглядит как 22.07.2010 16:04

Так что я предполагаю, что datatables просто принимает кодированную версию и не знает, что с ней делать.

Что мне делать.Я хочу закодировать данные, но если они испортили мою сортировку, это тоже не хорошо.Должен ли я использовать безопасные фрагменты HTML вместо

Ответы [ 2 ]

0 голосов
/ 17 июля 2010

Вместо кодирования даты просто проверьте правильность формата строки даты.Пока это правильно сформированная дата, нет опасности инъекции сценария или других махинаций.

0 голосов
/ 17 июля 2010

Честно говоря, я не знаю об атаке XSS, которая включает косые черты и точки.Однако многие символы имеют htmlentitiy эквивалент, и он делает это преобразование, но я не думаю, что это связано с проблемой безопасности.

С точки зрения безопасности противные символы - это 4: '"<>.Другое дело, метод AntiXss.HtmlEncode() должен использоваться при вводе пользователем для предотвращения XSS.Не имеет смысла запускать эту функцию в дату, на которую злоумышленник не может повлиять ... (Если, конечно, вы не защищаетесь от путешественников во времени.)

...