Po co dzwonić do mb_convert_encoding w celu oczyszczenia tekstu?

To jest w odniesieniu dota (doskonała) odpowiedź. Stwierdza, że ​​najlepszym rozwiązaniem dla ucieczki danych wejściowych w PHP jest wywołaniemb_convert_encoding śledzony przezhtml_entities.

Ale dlaczego dokładnie nazwałbyś mb_convert_encoding tymi samymi parametrami (UTF8)?

Fragment oryginalnej odpowiedzi:

Nawet jeśli użyjesz htmlspecialchars ($ string) poza tagami HTML, wciąż jesteś podatny na wielobajtowe wektory ataków zestawów znaków.

Najskuteczniejszym z nich jest użycie kombinacji mb_convert_encoding i htmlentities w następujący sposób.

$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');
$str = htmlentities($str, ENT_QUOTES, 'UTF-8');

Czy to ma jakieś korzyści, których mi brakuje?

questionAnswers(1)

yourAnswerToTheQuestion