Регистрация на сайте - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Mon, 23 Dec 2024 09:59:06 +030010. <strong>ramzes</strong>, я для всех запросов применяю
https://visavi.net/topics/42817/687729
Регистрация на сайте Dmitry KokorinMon, 25 Jan 2016 21:09:16 +0300Сообщенияhttps://visavi.net/topics/42817/6877299. <strong>DimmoS</strong>, для чего ты подготовленное выражение применяешь?
https://visavi.net/topics/42817/687726
Регистрация на сайте ramzesMon, 25 Jan 2016 18:30:45 +0300Сообщенияhttps://visavi.net/topics/42817/6877267. <strong>ramzes</strong>, где ты у меня фильтры видишь?
https://visavi.net/topics/42817/687722
Регистрация на сайте Dmitry KokorinMon, 25 Jan 2016 16:25:55 +0300Сообщенияhttps://visavi.net/topics/42817/6877227. <strong>ramzes</strong>, ахахаха я в код и не смотрел) Увидел комент карпова и отписал свою мысль)
https://visavi.net/topics/42817/687721
Регистрация на сайте АлексейMon, 25 Jan 2016 14:55:07 +0300Сообщенияhttps://visavi.net/topics/42817/687721Нагородили то.<br>
у него регулярка проверяет логин, не надо его дальше фильтровать
https://visavi.net/topics/42817/687720
Регистрация на сайте ramzesMon, 25 Jan 2016 14:47:51 +0300Сообщенияhttps://visavi.net/topics/42817/6877205. <strong>DimmoS</strong>, Та я хз) Первое что вспомнил написал)<br>
Я ж совсем забил на это дело)
https://visavi.net/topics/42817/687719
Регистрация на сайте АлексейMon, 25 Jan 2016 13:50:05 +0300Сообщенияhttps://visavi.net/topics/42817/6877194. <strong>XwiruS</strong>, зачем escape? <pre class="prettyprint">
$q = $db->prepare("INSERT INTO `users` (`login`, `pass`, `email`) VALUES (?, ?, ?)");
$q->bind_param('sss', $_POST['login'], $_POST['pass'], $_POST['email']);
if($q->execute) echo 'запрос выполнен';
//$db->prepare - mysqli_prepare
//$q->bind_param - mysqli_bind_param
//$q->execute - mysqli_execute
//в bind_param 'i' - integer, 's' - string 'd' - double, float </pre>
https://visavi.net/topics/42817/687708
Регистрация на сайте Dmitry KokorinSun, 24 Jan 2016 16:12:29 +0300Сообщенияhttps://visavi.net/topics/42817/687708<pre class="prettyprint">$login = $mysqli->real_escape_string($_POST['login']);</pre>
Как то так, если не ошибаюсь.
https://visavi.net/topics/42817/687702
Регистрация на сайте АлексейSun, 24 Jan 2016 12:36:44 +0300Сообщенияhttps://visavi.net/topics/42817/687702ну чтоб дальнейшие скрипты не выполнялись
https://visavi.net/topics/42817/687701
Регистрация на сайте УдаленныйSun, 24 Jan 2016 07:13:29 +0300Сообщенияhttps://visavi.net/topics/42817/687701Конечно. $_POST фильтруй.<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:53 сек.</span></em><br>
А exit; для чего?
https://visavi.net/topics/42817/687700
Регистрация на сайте karpov-mlSun, 24 Jan 2016 01:31:22 +0300Сообщенияhttps://visavi.net/topics/42817/687700Вот набросал скрипт регистрации на сайте. <br>
<pre class="prettyprint"><?php
session_start();
if(!$_SESSION['login'])
{
require_once('mysql.php');
$login = $_POST['login'];
$password = $_POST['password'];
$mail = $_POST['mail'];
if(empty($login) ) { echo 'Вы не ввели логин'; exit;}
if(!preg_match("/^[a-z]+$/", $login)) { echo 'Логин должен состоять только из латинских букв в нижнем регистре'; exit; }
if(strlen($login) < 3) { echo 'Длина логина должна быть не менее трех символов'; exit; }
if(strlen($login) > 20) { echo 'Длина логина должна быть не более двадцати символов'; exit; }
if(empty($password) ) { echo 'Вы не ввели пароль'; exit;}
if(!preg_match("/^[a-z]+$/", $password)) { echo 'Пароль должен состоять только из латинских букв в нижнем регистре'; exit; }
if(strlen($password) < 5) { echo 'Длина пароля должна быть не менее пяти символов'; exit; }
if(strlen($password) > 20) { echo 'Длина пароля должна быть не более двадцати символов'; exit; }
if(empty($mail) ) { echo 'Вы не ввели мейл'; exit;}
if(!preg_match('/^.+\@.+\.[a-z]+$/', $mail)) { echo 'Мейл должен состоять только из латинских букв в нижнем регистре'; exit; }
if(strlen($mail) < 5) { echo 'Длина мейла должна быть не менее пяти символов'; exit; }
if(strlen($mail) > 50) { echo 'Длина мейла должна быть не более пятидесяти символов'; exit; }
$result = mysqli_query($db, "SELECT login FROM users WHERE login='$login'");
$row = mysqli_fetch_array($result);
if ($row['login'] == $login)
{ echo 'Такой логин есть'; exit; }
$result2 = mysqli_query($db, "SELECT mail FROM users WHERE mail='$mail'");
$row2 = mysqli_fetch_array($result2);
if ($row2['mail'] == $mail)
{ echo 'Такой mail есть'; exit; }
mysqli_query($db, "INSERT INTO users (login,password,mail) VALUES('$login','$password','$mail')");
exit;
}
header("Location: index.php");
?></pre>
Знающие люди скажите есть ли в этом коде какая либо уязвимость или может можно все проще сделать?
https://visavi.net/topics/42817/687692
Регистрация на сайте УдаленныйSat, 23 Jan 2016 17:22:53 +0300Сообщенияhttps://visavi.net/topics/42817/687692