Моя схема защиты Unicode завершена? Есть ли встроенный способ защитить строки Unicode? - PullRequest
0 голосов
/ 18 июня 2019

(Я никогда не пойму, почему такие вещи - это не простая, приятная функция, встроенная в PHP, а скорее что-то, что должно быть индивидуально исследовано, часто неправильно, и выковано вместе каждым отдельным программистом, но здесьидет ...)

Я делаю следующее, чтобы "очистить" строки (Unicode), поступающие от пользователей / внешних источников:

$string = preg_replace('#[[:cntrl:]]#', '', $string); // Removes all "control characters".
$string = preg_replace('#\p{C}+#u', '', $string); // Removes all "invisible" characters. (As if the control ones above aren't invisible?)

Достаточно ли этого?Означает ли это заботиться обо всех способных к злоупотреблению / странных / специальных символах Unicode?Все, что связано с Unicode, кажется мечтой для людей, которые хотят быть злыми.В этом огромном наборе символов столько странных вещей, которые, казалось бы, невозможно понять одному человеку.

Я что-то упустил?Может быть, является такой встроенной функцией, которая делает то, что я делаю, только лучше и полнее?Если нет, то почему?Иногда мне кажется, что я единственный, кто занимается вопросами безопасности / контроля вообще ...

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