sam
Участник
- Сообщения
- 6
- Реакции
- 0
Олег Длиннов
Участник
- Сообщения
- 67
- Реакции
- 6
Тоже интересует данный вопрос
как сделать чтобы приходило письмо тому кто запрашивает восстановления пароля
Олег Длиннов
Участник
- Сообщения
- 67
- Реакции
- 6
А можно как то сделать, что бы была регистрация с одного ip и подтверждение почты? Сейчас сижу, ковыряю, пока не получаетсяМногие жалуются что пользователь может регистрироваться бесконечно раз, это файл без подтверждения почты и с запретом повторной регистрации.
тебе в какую регистрацию с подтверждением почты или без подтверждения почты?Олег Длиннов написал(а):А можно как то сделать, что бы была регистрация с одного ip и подтверждение почты? Сейчас сижу, ковыряю, пока не получается
хотя вот попробуй сам
в каждом файле pages/signup.php должны быть такие строки
PHP:
$time = time();
$ip = $func->UserIP;
PHP:
$ipregs = $db->Query("SELECT * FROM `db_users_a` WHERE INET_NTOA(db_users_a.ip) = '$ip' ");
$ipregs = $db->NumRows();[PHP]
потом найти
[PHP]if($rules){[PHP]
и после него добавить
[PHP] if($ipregs == 0) {[PHP]
потом найти
[PHP] }else echo "<center><b><font color = 'red'>Логин заполнен неверно!</font></b></center><BR />";[PHP]
и ниже добавить
[PHP] }else echo "<center><b><font color = 'red'>Запрещена регистрация с одного IP</font></b></center><BR />";[PHP]
Олег Длиннов
Участник
- Сообщения
- 67
- Реакции
- 6
я имею в виду, что бы при регистрации на почту поступало сообщение со ссылкой для продолжения регистрации и если с это ip регистрация уже производилась, выскакивало Запрещена регистрация с одного IP.kvozimir написал(а):тебе в какую регистрацию с подтверждением почты или без подтверждения почты?
хотя вот попробуй сам
в каждом файле pages/signup.php должны быть такие строки
после них вставитьPHP:$time = time(); $ip = $func->UserIP;
PHP:$ipregs = $db->Query("SELECT * FROM `db_users_a` WHERE INET_NTOA(db_users_a.ip) = '$ip' "); $ipregs = $db->NumRows();[PHP] потом найти [PHP]if($rules){[PHP] и после него добавить [PHP] if($ipregs == 0) {[PHP] потом найти [PHP] }else echo "<center><b><font color = 'red'>Логин заполнен неверно!</font></b></center><BR />";[PHP] и ниже добавить [PHP] }else echo "<center><b><font color = 'red'>Запрещена регистрация с одного IP</font></b></center><BR />";[PHP]
ну я тебе написал вставляй в любую регистрациюОлег Длиннов написал(а):я имею в виду, что бы при регистрации на почту поступало сообщение со ссылкой для продолжения регистрации и если с это ip регистрация уже производилась, выскакивало Запрещена регистрация с одного IP.
fadstoun
Участник
- Сообщения
- 47
- Реакции
- 11
А ещё неплохо бы было добавить модуль сканирования сетчатки глаза и проверку ДНК 
mrleks написал(а):ради интереса решил спросить( на php такого не видел)
если сделать чтоб и ip проверялся и операционка до кучи можно и браузер чтоб проверял[/QUOT
RipLee
Участник
- Сообщения
- 8
- Реакции
- 1
Доброго дня Ув пользователи. Подскажите пожалуйста мне такой момент. Установил с подтверждение почты, почему-то на ящики маил.ру письма не приходят. это можно как-то исправить ? На яндекс почту приходят моментально! и еще вопрос что прописать в файле recovery чтобы он отсылал пользователю забытый пароль? Функция забыл пароль вообще мертвая!
RipLee
Участник
- Сообщения
- 8
- Реакции
- 1
Прошу прощения, не обратил внимания,на яндекс почту ссылки приходят но в папку спам!RipLee написал(а):и еще вопрос что прописать в файле recovery чтобы он отсылал пользователю забытый пароль? Функция забыл пароль вообще мертвая!
На маил.ру тоже приходят ссылки для регистрации в папку спам, только в разобранном виде. это можно как то исправить ?
Вячеслав
Местный
- Сообщения
- 229
- Реакции
- 21
fortunchik
Участник
- Сообщения
- 2
- Реакции
- 0
А не проще сделать защиту-что это мыло уже зарегистрировано в скрипте ,уже написана функция проверка логина ,мы просто делаем тоже самое но только проверку на email .
Вот php код.
//Делаем запрос в БД и выбираем все мейлы и если в бд уже зарегистрировано такое мыло,то выводим сообщение об ошибке,а иначе регаем пользователя .
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
if($db->FetchRow() == 0){ # Регаем пользователя } else echo "<center><b><font color = 'red'>Указанный e-mail уже используется</font></b></center><BR />";
А вот php код проверки логина.
//Делаем запрос в БД в колонку с логинами и если там есть такой логин то покажем ошибку а иначе регаем пользователя.
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){ # Регаем пользователя }else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
Инструкция
1-Открываем файл signup.php удаляем кусок старого кода и вставляем этот
Если хотим добавить проверку по ИПИ адресу то нам надо добавить эти строки
Вот php код.
//Делаем запрос в БД и выбираем все мейлы и если в бд уже зарегистрировано такое мыло,то выводим сообщение об ошибке,а иначе регаем пользователя .
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
if($db->FetchRow() == 0){ # Регаем пользователя } else echo "<center><b><font color = 'red'>Указанный e-mail уже используется</font></b></center><BR />";
А вот php код проверки логина.
//Делаем запрос в БД в колонку с логинами и если там есть такой логин то покажем ошибку а иначе регаем пользователя.
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){ # Регаем пользователя }else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
Инструкция
1-Открываем файл signup.php удаляем кусок старого кода и вставляем этот
Код:
if($pass == $_POST["repass"]){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
if($db->FetchRow() == 0){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){
# Регаем пользователя
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg)
VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time')");
$lid = $db->LastInsert();
$db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','1', '".time()."')");
# Вставляем статистику
$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
?></div>
<div class="clr"></div>
<?PHP
return;
}else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Указанный e-mail уже используется</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
Последнее редактирование:
fortunchik
Участник
- Сообщения
- 2
- Реакции
- 0
$time = time(); // записали время
$ip = $func->UserIP; // сюда записали айпи юзера
$ipregs = $db->Query("SELECT * FROM `db_users_a` WHERE INET_NTOA(db_users_a.ip) = '$ip' ");
$ipregs = $db->NumRows(); //а это проверка ипи адресов в БД
//если ип адрес не зареген в БД то регаем пользователия а если ип адрес уже имеется в базе даных то ошибка!
if($ipregs == 0) { #Регаем пользователя }else echo "<center><font color = 'red'><b>Регистрация с этого IP уже производилась</b></font></center>";
//В этом запросе поправим запись и добавим , ip и INET_ATON('$ip')
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
Если не разберётесь то почитайте статьи про
''В MySQL есть функция INET_ATON(), которая преобразует IP-адрес в тип INT.
Так же в MySQL есть функция INET_NTOA() — преобразование числа в IP-адрес. "
$ip = $func->UserIP; // сюда записали айпи юзера
$ipregs = $db->Query("SELECT * FROM `db_users_a` WHERE INET_NTOA(db_users_a.ip) = '$ip' ");
$ipregs = $db->NumRows(); //а это проверка ипи адресов в БД
//если ип адрес не зареген в БД то регаем пользователия а если ип адрес уже имеется в базе даных то ошибка!
if($ipregs == 0) { #Регаем пользователя }else echo "<center><font color = 'red'><b>Регистрация с этого IP уже производилась</b></font></center>";
//В этом запросе поправим запись и добавим , ip и INET_ATON('$ip')
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
Если не разберётесь то почитайте статьи про
''В MySQL есть функция INET_ATON(), которая преобразует IP-адрес в тип INT.
Так же в MySQL есть функция INET_NTOA() — преобразование числа в IP-адрес. "