Регистрация на сайте - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ admin@visavi.net (admin) admin@visavi.net (admin) Sun, 27 Nov 2022 01:05:12 +0300 10. <strong>ramzes</strong>, я для всех запросов применяю https://visavi.net/topics/42817/687729 Регистрация на сайте Dmitry Kokorin Mon, 25 Jan 2016 21:09:16 +0300 Сообщения https://visavi.net/topics/42817/687729 9. <strong>DimmoS</strong>, для чего ты подготовленное выражение применяешь? https://visavi.net/topics/42817/687726 Регистрация на сайте ramzes Mon, 25 Jan 2016 18:30:45 +0300 Сообщения https://visavi.net/topics/42817/687726 7. <strong>ramzes</strong>, где ты у меня фильтры видишь? https://visavi.net/topics/42817/687722 Регистрация на сайте Dmitry Kokorin Mon, 25 Jan 2016 16:25:55 +0300 Сообщения https://visavi.net/topics/42817/687722 7. <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 Регистрация на сайте ramzes Mon, 25 Jan 2016 14:47:51 +0300 Сообщения https://visavi.net/topics/42817/687720 5. <strong>DimmoS</strong>, Та я хз) Первое что вспомнил написал)<br> Я ж совсем забил на это дело) https://visavi.net/topics/42817/687719 Регистрация на сайте Алексей Mon, 25 Jan 2016 13:50:05 +0300 Сообщения https://visavi.net/topics/42817/687719 4. <strong>XwiruS</strong>, зачем escape? <pre class="prettyprint linenums pre-scrollable"> $q = $db-&gt;prepare(&quot;INSERT INTO `users` (`login`, `pass`, `email`) VALUES (?, ?, ?)&quot;); $q-&gt;bind_param(&#039;sss&#039;, $_POST&#91;&#039;login&#039;], $_POST&#91;&#039;pass&#039;], $_POST&#91;&#039;email&#039;]); if($q-&gt;execute) echo &#039;запрос выполнен&#039;; //$db-&gt;prepare - mysqli_prepare //$q-&gt;bind_param - mysqli_bind_param //$q-&gt;execute - mysqli_execute //в bind_param &#039;i&#039; - integer, &#039;s&#039; - string &#039;d&#039; - double, float </pre> https://visavi.net/topics/42817/687708 Регистрация на сайте Dmitry Kokorin Sun, 24 Jan 2016 16:12:29 +0300 Сообщения https://visavi.net/topics/42817/687708 <pre class="prettyprint linenums pre-scrollable">$login = $mysqli-&gt;real_escape_string($_POST&#91;&#039;login&#039;]);</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-ml Sun, 24 Jan 2016 01:31:22 +0300 Сообщения https://visavi.net/topics/42817/687700 Вот набросал скрипт регистрации на сайте. <br> <pre class="prettyprint linenums pre-scrollable">&lt;?php session_start(); if(!$_SESSION&#91;&#039;login&#039;]) { require_once(&#039;mysql.php&#039;); $login = $_POST&#91;&#039;login&#039;]; $password = $_POST&#91;&#039;password&#039;]; $mail = $_POST&#91;&#039;mail&#039;]; if(empty($login) ) { echo &#039;Вы не ввели логин&#039;; exit;} if(!preg_match(&quot;/^&#91;a-z]+$/&quot;, $login)) { echo &#039;Логин должен состоять только из латинских букв в нижнем регистре&#039;; exit; } if(strlen($login) &lt; 3) { echo &#039;Длина логина должна быть не менее трех символов&#039;; exit; } if(strlen($login) &gt; 20) { echo &#039;Длина логина должна быть не более двадцати символов&#039;; exit; } if(empty($password) ) { echo &#039;Вы не ввели пароль&#039;; exit;} if(!preg_match(&quot;/^&#91;a-z]+$/&quot;, $password)) { echo &#039;Пароль должен состоять только из латинских букв в нижнем регистре&#039;; exit; } if(strlen($password) &lt; 5) { echo &#039;Длина пароля должна быть не менее пяти символов&#039;; exit; } if(strlen($password) &gt; 20) { echo &#039;Длина пароля должна быть не более двадцати символов&#039;; exit; } if(empty($mail) ) { echo &#039;Вы не ввели мейл&#039;; exit;} if(!preg_match(&#039;/^.+\&#64;.+\.&#91;a-z]+$/&#039;, $mail)) { echo &#039;Мейл должен состоять только из латинских букв в нижнем регистре&#039;; exit; } if(strlen($mail) &lt; 5) { echo &#039;Длина мейла должна быть не менее пяти символов&#039;; exit; } if(strlen($mail) &gt; 50) { echo &#039;Длина мейла должна быть не более пятидесяти символов&#039;; exit; } $result = mysqli_query($db, &quot;SELECT login FROM users WHERE login=&#039;$login&#039;&quot;); $row = mysqli_fetch_array($result); if ($row&#91;&#039;login&#039;] == $login) { echo &#039;Такой логин есть&#039;; exit; } $result2 = mysqli_query($db, &quot;SELECT mail FROM users WHERE mail=&#039;$mail&#039;&quot;); $row2 = mysqli_fetch_array($result2); if ($row2&#91;&#039;mail&#039;] == $mail) { echo &#039;Такой mail есть&#039;; exit; } mysqli_query($db, &quot;INSERT INTO users (login,password,mail) VALUES(&#039;$login&#039;,&#039;$password&#039;,&#039;$mail&#039;)&quot;); exit; } header(&quot;Location&#58; index.php&quot;); ?&gt;</pre> Знающие люди скажите есть ли в этом коде какая либо уязвимость или может можно все проще сделать? https://visavi.net/topics/42817/687692 Регистрация на сайте Удаленный Sat, 23 Jan 2016 17:22:53 +0300 Сообщения https://visavi.net/topics/42817/687692