PHP/MySQL | Проверка cookies PHP
Как вы проверяете свои данные в cookies я:
# Функция фильтрации входящих данных #
function sql($var){
global $db;
$var = trim($var);
$var = mysqli_real_escape_string($db,$var);
return $var;
}
$user = $db -> query("SELECT * FROM `users` WHERE `login` = '".sql($_COOKIE['login'])."' && `password` = '".sql($_COOKIE['password'])."' LIMIT 1");
Достаточно ли, или вы применяете еще какие либо методы?
# Функция фильтрации входящих данных #
function sql($var){
global $db;
$var = trim($var);
$var = mysqli_real_escape_string($db,$var);
return $var;
}
$user = $db -> query("SELECT * FROM `users` WHERE `login` = '".sql($_COOKIE['login'])."' && `password` = '".sql($_COOKIE['password'])."' LIMIT 1");
Достаточно ли, или вы применяете еще какие либо методы?
trim бесполезен. При запросе пробелы автоматически обрезаются. В mysqli можно использовать placeholders, это безопаснее
подготовленые запросы
использую пдо
Не пишу код, так безопаснее
Во-первых.
Юзать PDO
Во-вторых.
Юзать prepare.
В-третьих.
Юзать ООП.
Юзать PDO
Во-вторых.
Юзать prepare.
В-третьих.
Юзать ООП.
Drages, и работай с пыхом от 7ки ниже добра не добьешься!

DELETED
9 декабря 2018, в 13:02
Delete
<?php
session_start();
// при регистрации, пример запроса для PDO
...insert into users set login = ?, `password` = ?, email = ?, [$_POST['login'], $_POST['password'], $_POST['email']]...
// при авторизации (регистрации)
$_SESSION['uid'] = [$_POST['login'], $_POST['password'], $_POST['email']];
// при проверке авторизованного
if (!empty($_SESSION['uid'])) {
$uid = ... select id from users where login = ? and `password` = ? and email = ? limit 1, [$_SESSION[0], $_SESSION[1], $_SESSION[2]]...->fetchObject();
if ($uid !== false) {
define('UID', $uid->id);
}
}
// применение для авторизованного
if (defined('UID')) {
// например
$user = ...select * from users where id = ? limit 1, [UID]...->fetchObject();
echo $user->login;
} else {
die('Не авторизован');// или редирект в раздел неавторизованных
}
весь код примерный
________
посл. ред. 09.12.2018 в 13:03; всего 2 раз(а); by PhpStorm