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?