Рекомендованный способ разброса на данные utf-8? - PullRequest
1 голос
/ 14 октября 2011

Я конвертирую свой сайт в utf, что в основном делается за исключением того, что существует устаревший код, который должен использовать stripslashes ()

Я слышал сообщения о том, что stripslashes может повредить данные utf, но я не уверенЯ понимаю почему.UTF устанавливает верхний бит для всех не первых символов (для совместимости с ASCII), поэтому безопасно ли работать с UTF-данными или нет?

Существуют ли потенциальные уязвимости безопасности, если я пытаюсь запустить Stripslashes на UTF?данные.Я провел несколько тестов, используя недействительный код utf с косой чертой, но не смог придумать ни одного

1 Ответ

5 голосов
/ 14 октября 2011

Я не вижу проблемы с UTF-8.Фактически, большинство функций ASCII безопасны в UTF-8, потому что они совместимы с ASCII.(Вам нужно беспокоиться только о длине и вставке и удалении средней строки.)

UTF-16 и -32, однако, являются проблемой, поскольку они могут использовать символы со значениями ASCII (<0x80) для представления более высокогокодовые точки, которые могут быть неверно истолкованы как косые черты или кавычки ASCII. </p>

Пример: "⁜!" (U + 205C U + 21) в UTF-16BE равно 20 5c 00 21, что может интерпретироваться как " \0!" (где0 - это байт NUL), а затем удаляется второй символ, что приводит к повреждению строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...