Очистить входные данные массива $ _POST и $ _GET ООП - PullRequest
0 голосов
/ 31 марта 2019

У меня есть этот код из метода класса, который я хочу использовать для обработки данных перед их передачей в базу данных. Я не уверен, что делать дальше, потому что обычно я предпочитаю использовать ajax и не OOP-контроллер для очистки различных данных. Я не уверен, если использовать filter_var_array или filter_input_array для решения этой задачи. Если у кого-то есть предложения по поводу этой задачи, я буду признателен за это.

Вот пример моего кода:

<?php

class UserRegistration{

  public function registration($data = null){
    echo $this->view->registrationForm();

    if( isset($_POST['register']) ){
      $data = [
        $_POST['username'],
        $_POST['email'],
        password_hash($_POST['password'], PASSWORD_BCRYPT, ['cost'=>11])
      ];

      if( $this->sanitizeData($data) ){
        echo $this->view->registrationSuccess();
      }
    }

  }

  private function sanitizeData(array $data){
    $args = ['username'=> FILTER_SANITIZE_STRING, 'email'=> FILTER_SANITIZE_EMAIL, 'password'=> FILTER_SANITIZE_STRING ];
    $sanitized_data = filter_var_array($data, $args);
    return $sanitized_data;
  }

}
?>

1 Ответ

0 голосов
/ 31 марта 2019

Вам не нужно очищать данные перед сохранением их в базу данных.Больше информации здесь https://security.stackexchange.com/questions/95325/input-sanitization-vs-output-sanitization

...