Обычная регистрация и без подтверждения почты

  • Автор темы kvozimir
  • Дата начала
sam
Участник
Сообщения
6
Реакции
0
  • #21
Привет всем, помогите пожалуйста настроить почту, не могу понять как сделать чтобы приходило письмо тому кто запрашивает восстановления пароля, очень буду благодарен.
 
Олег Длиннов
Участник
Сообщения
67
Реакции
6
  • #22
Тоже интересует данный вопрос
как сделать чтобы приходило письмо тому кто запрашивает восстановления пароля
 
Олег Длиннов
Участник
Сообщения
67
Реакции
6
  • #23
Многие жалуются что пользователь может регистрироваться бесконечно раз, это файл без подтверждения почты и с запретом повторной регистрации.
А можно как то сделать, что бы была регистрация с одного ip и подтверждение почты? Сейчас сижу, ковыряю, пока не получается
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
  • #24
Олег Длиннов написал(а):
А можно как то сделать, что бы была регистрация с одного 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
  • #25
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.
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
  • #26
Олег Длиннов написал(а):
я имею в виду, что бы при регистрации на почту поступало сообщение со ссылкой для продолжения регистрации и если с это ip регистрация уже производилась, выскакивало Запрещена регистрация с одного IP.
ну я тебе написал вставляй в любую регистрацию
 
fadstoun
Участник
Сообщения
47
Реакции
11
  • #27
А ещё неплохо бы было добавить модуль сканирования сетчатки глаза и проверку ДНК :)
mrleks написал(а):
ради интереса решил спросить( на php такого не видел)
если сделать чтоб и ip проверялся и операционка до кучи можно и браузер чтоб проверял[/QUOT
 
Вячеслав
Местный
Сообщения
229
Реакции
21
  • #28
mamokrob Спасибо поставил
 
RipLee
Участник
Сообщения
8
Реакции
1
  • #29
Доброго дня Ув пользователи. Подскажите пожалуйста мне такой момент. Установил с подтверждение почты, почему-то на ящики маил.ру письма не приходят. это можно как-то исправить ? На яндекс почту приходят моментально! и еще вопрос что прописать в файле recovery чтобы он отсылал пользователю забытый пароль? Функция забыл пароль вообще мертвая!
 
RipLee
Участник
Сообщения
8
Реакции
1
  • #30
RipLee написал(а):
и еще вопрос что прописать в файле recovery чтобы он отсылал пользователю забытый пароль? Функция забыл пароль вообще мертвая!
Прошу прощения, не обратил внимания,на яндекс почту ссылки приходят но в папку спам!
На маил.ру тоже приходят ссылки для регистрации в папку спам, только в разобранном виде. это можно как то исправить ?
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #31
Исправить это можно при помощи установки SMTP рассылки с авторизацией. Так как стандартная ф-я php mail() не может везде обойти фильтры, установленные на почтовых ящиках.
 
Вячеслав
Местный
Сообщения
229
Реакции
21
  • #32
Кстати у кого защита по ip люди не будут делать повторный акк если в ошибке написать не так: "С этого ip уже была регистрация" а вот что: "Создав второй аккаунт 1й будет заблокирован и т.д...!" Пусть думает что делать дальше :whosthat:
 
fortunchik
Участник
Сообщения
2
Реакции
0
  • #33
А не проще сделать защиту-что это мыло уже зарегистрировано в скрипте ,уже написана функция проверка логина ,мы просто делаем тоже самое но только проверку на 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 удаляем кусок старого кода и вставляем этот
Код:
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
  • #34
$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-адрес. "
 
Сверху