PHP поймать должным образом

0

На стороне сервера php, как поймать сообщение из представления, а затем вести бизнес-логику, следует ли использовать ниже пример 2- записать каждый пост-ключ, если использовать 1-, может ли быть безопасная проблема?

1-

if (isset($_POST)) {
  // do something use $_POST['..']
} else {
  // denied
}

2-

if (isset($_POST['name']) && isset($_POST['password']) && isset($_POST['password_confirm']) ) {
  // do something
} else {
  // denied
}

3-

if ($_POST) {
}
Теги:
security
sql-injection

2 ответа

0
Лучший ответ

Просто убедитесь, что функция (ы)/метод (ы), которые используют эти значения post, защищены от SQL Injection и что они выполняют базовую проверку своих входных аргументов, и все должно быть хорошо.

0

Для защиты sql у вас есть два варианта

  • Выход из одиночных кавычек

  • Подготовленные заявления

Например, вы можете использовать для выхода, вы можете использовать функцию "mysql_real_escape_string"

 if (isset($_POST)) {
  $some_key = mysql_real_escape_string($_POST{'some_key'});
 } else {
 // denied
  }

для подготовленных операторов вы должны использовать mysqli вместо od mysql, а затем должны выполнять операции db, такие как

     if($stmt = $mysqli -> prepare("SELECT priv FROM testUsers WHERE username=?
   AND password=?")) {


      $stmt -> bind_param("ss", $_POST['user_key'], $_POST['pass_key']);


      $stmt -> execute();}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню