Mam formularz z dużą ilością zmiennych, który następnie wysyła wiadomość e-mail, zamiast oczyszczać każdą wartość $_POST
za pomocą filter_var($_POST['var'], FILTER_SANITIZE_STRING);
Byłem po prostszym kawałku kodu. Wymyśliłem poniżej, co wydaje się działać tak, jak sądzę, domyślną akcją jest FILTER_SANITIZE_STRING
, ale właśnie zastanawiałem się, jakie są opinie ludzi, a jeśli to nie jest dobra praktyka, może mógłbyś mi powiedzieć, dlaczego? Wartości $_POST
są następnie indywidualnie osadzone w nowych zmiennych, więc chciałbym używać array_map dopiero na początku do dezynfekcji wszystko ...
$_POST = array_map('filter_var', $_POST);
Dziękuję za odpowiedzi, aby dać trochę więcej informacji, w zasadzie :
mam 20-30 pól wejściowych w formie, które są zrobione, dane są następnie wyświetlane użytkownikowi w celu sprawdzenia ich wkład, zmienne są następnie odkażane, użytkownik zostaje wysłany e-mail i następnie dane są wprowadzane do db.
Obecnie jestem sanitizing za pomocą powyższej funkcji array_map, jak również FILTER_SANITIZE_EMAIL na adres e-mail przed wysłaniem wiadomości e-mail, a następnie ucieczkę wejście przy użyciu mysql_real_escape_string() przed wstawić do db. Bez wchodzenia w przygotowywane oświadczenia itp. Czy myślisz, że powinienem robić cokolwiek dodatkowo? dzięki jeszcze raz!
sanitize ciąg, tu jest użyteczna funkcja - http://stackoverflow.com/questions/3126072/what-are-the-best-php-input-sanitizing-functions/20403438#20403438 –
możliwy duplikat [PHP -Sanitize wartości a ar ray] (http://stackoverflow.com/questions/4861053/php-sanitize-values-ofa-a-ray) – feeela