Код: Выделить всё
if(now()=sysdate(),sleep(15),0)
pHqghUme-1 waitfor delay '0:0:15' --
pHqghUmesYxgz4aX')) OR 580=(SELECT 580 FROM PG_SLEEP(15))--
-1' OR 2+505-505-1=0+0+0+1 --
< /code>
Поскольку я не храню какое -либо поле электронной почты в базе данных, и в поле электронной почты нет взаимодействия с базой данных, я не слишком беспокоюсь, но мне было интересно (помимо Recaptcha), если моя дезинфекция достаточно хороша. Вот как это выглядит: < /p>
if(isset($_POST['name']) && !empty($_POST['name']) && !is_array($_POST['name'])){$name = htmlentities($_POST['name'],ENT_QUOTES);}else {$test = 1; header("Location: index.php?mail=2#contact");}
if(isset($_POST['cont']) && !empty($_POST['cont']) && !is_array($_POST['cont'])){$cont = $_POST['cont'];}else {$test = 1; header("Location: index.php?mail=3#contact");}
if(isset($_POST['email']) && !empty($_POST['email']) && !is_array($_POST['email'])){$email = htmlentities($_POST['email'],ENT_QUOTES);}else {$test = 1; header("Location: index.php?mail=1#contact");}
if(isset($_POST['number']) && !empty($_POST['number']) && !is_array($_POST['number'])){$number = htmlentities($_POST['number'],ENT_QUOTES);}else {$test = 1; header("Location: index.php?mail=1#contact");}
if($test == 0) {
$cont = $cont . "\xA" . "\xA" . 'Gesendet von: ' .$name . "\xA" . 'Telefon: ' . htmlentities($_POST['number'],ENT_QUOTES) . "\xA" ."E-Mail: " . htmlentities($_POST['email'],ENT_QUOTES);
mail($empfaenger, $betreff, $cont, "From: ");
}
С другой стороны, я также принимаю CMS, написанную на этой стороне с некоторыми возможностями входа в систему и регистрации. Из-за атаки я дважды проверил свой вход и регистрационный скрипт и хочу знать, есть ли что-нибудь, что можно улучшить: < /p>
Это мой запрос в логатике: < /p>
Код: Выделить всё
if ($stmt = $mysqli->prepare("SELECT id, username, password, salt, aktivate, gruppe FROM members WHERE email = ? OR username = ? LIMIT 1")) {
$stmt->bind_param('ss', $email, $email);
$stmt->execute();
...
...
}
< /code>
Нет другой дезинфекции в поле электронной почты. Это проблема? Из моего понимания bind_param Код: Выделить всё
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
$password = filter_input(INPUT_POST, 'p', FILTER_SANITIZE_STRING);
Подробнее здесь: https://stackoverflow.com/questions/795 ... ail-fields
Мобильная версия