2010-03-24 2 views
0

Если у меня есть данные xml/html для публикации, нам нужно закодировать данные, чтобы избежать проверки XSS. Поэтому для этого мы должны использовать кодировку HTMLencode или URI.URI encode и HTML encode

Если используется кодировка URI, это вызовет проблемы, поскольку форма POST автоматически URI кодирует все данные перед отправкой.

ответ

1

XSS - это проблема, вызванная нанесением клиенту конфиденциальных данных. Он не может быть разрешен в момент публикации данных.

Чтобы защитить его, HTML кодирует данные (сразу) перед их размещением в документе HTML.

+0

Спасибо, Дэвид, а как насчет кодирования uri? это нормально использовать его вместо кодирования HTML? я имею в виду uri кодировать данные, а затем помещать в скрытый элемент формы и декодировать на сервере конец? –

+0

Это просто затрудняет чтение. Используйте HTML-кодировку для размещения вещей в HTML. – Quentin

1

Помните: вход фильтра, выход выхода.

  1. Всегда фильтровать ввод перед помещением его в базе данных (чтобы избежать инъекций SQL и т.д.)
  2. выхода побега перед отправкой его клиенту с помощью фильтрации/кодирования любого HTML в динамическом содержимом.
+0

Umm - чтобы избежать инъекции SQL, вы избегаете данных для своей базы данных. – Quentin

+0

@ Давид: Правильно. В чем ваш смысл? Должен ли я сказать «вход для выхода, выход выхода» вместо? –

+0

Фильтр (особенно когда вы кладете его рядом с экранированием) предлагает удалить вещи из данных, а не заменять их безопасными эквивалентами. Вы используете фильтрацию, например, для остановки спама, который вставляется в базу данных. – Quentin