Что было бы лучше практиковать при очистке / проверке php из html-входов? - PullRequest
0 голосов
/ 22 февраля 2019

При выполнении проверки php я должен сначала выполнить очистку / проверку фильтра или это можно сделать как часть оператора if, см. Примеры ниже

Первый пример

$vvalidation = 0;

if (isset($_POST['db9_name']) && $_POST['db9_name'] != ''){
    $name = $_POST['db9_name'];
    if (filter_var($name, FILTER_SANITIZE_STRING === null)){
        $vvalidation++;
    }
} else{
    $vvalidation++;
}

Второй пример

$vvalidation = 0;

if (isset($_POST['db9_name']) && $_POST['db9_name'] != ''){
    $name = $_POST['db9_name'];    
    $vname = filter_var($name, FILTER_SANITIZE_STRING);
    if ($vname === null)){
        $vvalidation++;
    }
} else{
    $vvalidation++;
}

а для электронной почты?

пример 1

  if (isset($_POST['txtemail']) && $_POST['txtemail'] !== '') {

        $vEmail = strtolower(strip_tags(trim($_POST['txtemail'])));
        $vEmail = str_replace(' ', '', $vEmail);

        if (filter_var($vEmail, FILTER_SANITIZE_EMAIL) === null) {
            $vValidation++;
        } elseif (filter_var($vEmail, FILTER_VALIDATE_EMAIL) === null) {
            $vValidation++;
        }
    } else {
        $vValidation++;
}

пример 2

  if (isset($_POST['txtemail']) && $_POST['txtemail'] !== '') {

        $vEmail = strtolower(strip_tags(trim($_POST['txtemail'])));
        $vEmail = str_replace(' ', '', $vEmail);

       $email = (filter_var($vEmail, FILTER_SANITIZE_EMAIL);
       $email .= (filter_var($vEmail, FILTER_VALIDATE_EMAIL);
        if (email === null){
        $vValidation++;
    } else {

        $vValidation++;
}

или это действительно не имеет значения?

...