myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> RegBot.MySQL_API2, API2 | Скрипт регистрации с занесением в базу MySQL

Kingston
сообщение 2.2.2010, 7:39
Сообщение #61


Активный участник
***

Группа: Пользователи
Сообщений: 85
Регистрация: 19.3.2009
Из: Россия, Хабаровский край, г.Комсомольск-на-Амуре
Пользователь №: 2 652
Спасибо сказали: 39 раз




Описание скрипта:
Название: RegBot.MySQL_API2.lua
Версия API: 2
Автор: Kingston
-------------------------
Требуется наличие библиотеки: LuaSQL
-------------------------
Функционал:
Занесение в базу данных пользователя, при регистрации новых юзеров, при заходе на хаб уже зарегеных. При изменеии пароля, запись в базе обновляется. При удалении учетки, так же из базы удаляется запись. Присутсвтуют команды дря работы с базой, вывод информации по IP, нику, ID записи в базе.
В дальнейшем можно использовать базу для восстановления/изменения пароля из формы на сайте.
-------------------------
За основу взят скрипт: RegBot.by.NRJv.1.2_api2.lua
-------------------------
Протестировано на PtokaX 0.4.1.2 и MySQL 5.1
-------------------------
Текущая версия: 1.6
Отдельно сделаны большие сообщения, воможность быстро отредактировать внешний вид. Регистрация в личке бота. Команда добавления/сохранения E-mail адреса в базу. Добавлена возможность отправлять сообщения не только в main и OpChat, но и на любой ник. Исправлены некоторые ошибки.
Прикрепленный файл  RegBot.MySQL.1.6_API2.lua ( 29.63 килобайт ) Кол-во скачиваний: 174

Исправленная версия из поста #45
Прикрепленный файл  RegBot.MySQL.1.6_API2.lua ( 29.68 килобайт ) Кол-во скачиваний: 188

Немного доработанная форма для регистрации. (автор STRELOK)
Прикрепленный файл  hubreg.zip ( 49.24 килобайт ) Кол-во скачиваний: 280

PS: Это мой первый скрипт, который я выкладываю big_smile1.gif
Go to the top of the page
+Quote Post
4 страниц V  « < 2 3 4  
Начать новую тему
Ответов
Nickolya
сообщение 17.9.2010, 13:55
Сообщение #62


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Удачи вам в начинаниях, ждем оптимальной версии big_smile.gif
Go to the top of the page
+Quote Post
guruz
сообщение 25.9.2010, 0:45
Сообщение #63


Абсолютный новичок


Группа: Пользователи
Сообщений: 1
Регистрация: 24.9.2010
Пользователь №: 7 768
Спасибо сказали: 0 раз




Если не трудно, можно номер версии скрипта писать в шапке, или хотя бы дату последнего обновления файлов... А то не понятно где файлы новее: в шапке или в топиках...
Go to the top of the page
+Quote Post
Kingston
сообщение 26.9.2010, 7:31
Сообщение #64


Активный участник
***

Группа: Пользователи
Сообщений: 85
Регистрация: 19.3.2009
Из: Россия, Хабаровский край, г.Комсомольск-на-Амуре
Пользователь №: 2 652
Спасибо сказали: 39 раз




Цитата(guruz @ 25.9.2010, 8:45) *
Если не трудно, можно номер версии скрипта писать в шапке, или хотя бы дату последнего обновления файлов... А то не понятно где файлы новее: в шапке или в топиках...

Скрипт прикрепил к шапке, дал ссылку на описание, а по веб морде сказать не могу какая новее
Go to the top of the page
+Quote Post
VNoName
сообщение 26.9.2010, 7:43
Сообщение #65


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




моя новее
Go to the top of the page
+Quote Post
DEN 007
сообщение 2.10.2010, 6:23
Сообщение #66


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Цитата(Kingston @ 17.9.2010, 7:55) *
Решил переделать полностью структуру скрипта, также перепишу запросы в в базу, сделаю конфиг.луа в отдельной папке и бекап в файл. Также будет совместимость с unix системами. и все что было замечено к скрипту и написано в тебе, постараюсь выполнить, только может немного затянуться процесс


А зачем делать двойную работу? я вот перебирал у себя скрипты и вот скриптик от Алекса82 делает вполне много http://mydc.ru/topic2213.html посмотри...

Да и вот еще я тут так прикинул есть скрипт изменения ника
http://mydc.ru/topic163.html
Его было бы хорошо пришить туда, я пытался но у меня не получилось))

помогите кто разбирается..

P.S. Еще не выучил луа, а лузу в луа мускуль)))
Go to the top of the page
+Quote Post
Kingston
сообщение 2.10.2010, 14:13
Сообщение #67


Активный участник
***

Группа: Пользователи
Сообщений: 85
Регистрация: 19.3.2009
Из: Россия, Хабаровский край, г.Комсомольск-на-Амуре
Пользователь №: 2 652
Спасибо сказали: 39 раз




DEN 007 Хм. не видет такой скрипт, видимо не обращал внимание на него из-за слова beta )) спасибо))) посмотрю все на днях))
Go to the top of the page
+Quote Post
lankmv
сообщение 2.11.2010, 11:28
Сообщение #68


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 31.3.2010
Пользователь №: 6 536
Спасибо сказали: 1 раз




Цитата(VOVKT @ 26.9.2010, 8:43) *
моя новее

В твоем скрипте еще стоило бы добавить после защиты от sql инъекций (mysql_real_escape_string перед вставкой в таблицу БД)

более полноценные проверки на вводимые символы / пробелы в никах) может кому то пригодится
Раскрывающийся текст
Код
// удаляем лишние пробелы
$user = trim($user);
$pass = trim($pass);
    
// проверяем на наличие ошибок (например, длина логина и пароля, символы, регистры)
$error = false;
$errort = '';

if($user  == '')
{
$error = true;
$errort .= "Вы забыли указать логин.<br />";
}
if(strlen($user) < 3 or strlen($user) > 20)
{
$error = true;
$errort .= "Логин не может быть короче 3-х символов и длиннее 20-ти.<br />";
}
if(substr_count($user," ") > 0 )
{
$error = true;
$errort .= "Пробелы в логине недопустимы!.<br />";
}    
if(substr_count($pass," ") > 0 )
{
$error = true;
$errort .= "Пробелы в пароле недопустимы!.<br />";
}
if(preg_match("![A-Za-z]!i",$user) and preg_match("![А-Яа-я]!i",$user))
{
$error = true;
$errort .= "В логине Нельзя смешивать символы русского и английского алфавита.<br />";
}        
if(preg_match("!^\d[0-9A-Za-zА-Яа-я]!i",$user))
{
$error = true;
$errort .= "Логин не может начинаться с цифры.<br />";
}    
if(preg_match("![^0-9a-zA-ZА-Яа-я-_\s]!i",$user,$matches))
{
$error = true;
$errort .= "Вы использовали в логине запрещенный символ: " .$matches[0]. ".<br />";
}    
if(!preg_match("!^[0-9a-zA-Zа-яА-Я][0-9a-zA-Zа-яА-Я_ -\s]+[0-9a-zA-Zа-яА-Я]$!",$user))
{
$error = true;
$errort .= "Логин не может начинаться или заканчиваться пробелом, тире или символом подчеркивания.<br />";
}        
if(preg_match("!(.)\\1\\1!", $user))
{
$error = true;
$errort .= "Запрещено использование трех и более одинаковых символов подряд.<br />";
}  
if(preg_match("!([-_\s])\\1!", $user))
{
$error = true;
$errort .= "Запрещено использовать два разделительных символа подряд.<br />";
}
if (!preg_match('/[0-9a-z_-]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i', $mail))
{
$error = true;
$errort .= 'Введен неверный E-mail.<br />';
}
if(strlen($pass) < 6 or strlen($pass) > 15)
{
$error = true;
$errort .= "Пароль не может быть короче 6-х символов и длиннее 15-ти.<br />";
}    
if ($_SESSION["captcha"]<>$captcha)
{
$error = true;
$errort .= 'Не правильно введен проверочный код.<br />';

И скрипт не работал (не заносил в базу config needreg информацию о новой записи)
Раскрывающийся текст
Код
// если ошибок нет, то добавляем юзаре в таблицу
if (!$error)
{
$query = "INSERT INTO `".$db_prefix."users` (`nick`, `pass`, `ip`, `profile`, `email`) VALUES ('".$user."', '".$pass."', '".$user_ip."', '".$userprofile."', '".$mail."')";
$sql = mysql_query($query) or die(mysql_error());
$get_id = mysql_query('SELECT * FROM '.$db_prefix.'users WHERE nick="'.$_POST['username'].'"');
$user_id = mysql_fetch_array($get_id);
$sql = mysql_query("UPDATE `".$db_prefix."config` SET config_value = '".$user_id['id']."' WHERE config_name = 'needreg'") or die("Insert: ". db_prefix."config<br>Error: ".mysql_error());
$tpl=str_replace("{errors}","<h4>Поздравляем, Вы успешно зарегистрированы!</h4>",$tpl);
}
Go to the top of the page
+Quote Post
Charodei1
сообщение 9.6.2011, 5:43
Сообщение #69


Абсолютный новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 9.11.2009
Пользователь №: 4 971
Спасибо сказали: 0 раз




Спасибо за скрипт! Хотелось бы в скрипте иметь возможность востановления или напоминания пароля с отправкой на mail на случай когда юзер лишь помнит свой ник или mail. На форуме такого скрипта не нашел.
Go to the top of the page
+Quote Post
NightmareUA
сообщение 28.1.2014, 19:42
Сообщение #70


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 27.11.2012
Пользователь №: 11 089
Спасибо сказали: 0 раз




Доброго времени суток, будет ли оптимизация под 0.5.0.1 lua 5.1.5 и вебформа с рабочей формой восстановления пароля и нормальной веб-регистрацией, у меня после 10 минут работы, скрипт отваливался (
Go to the top of the page
+Quote Post
Артём
сообщение 29.1.2014, 13:35
Сообщение #71


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




NightmareUA, экстрасенсы требуют лог ошибки при отваливание скрипта.
Go to the top of the page
+Quote Post
NightmareUA
сообщение 29.1.2014, 15:22
Сообщение #72


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 27.11.2012
Пользователь №: 11 089
Спасибо сказали: 0 раз




[14:21:19] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: attempt to index local 'cur' (a nil value)
stack traceback:
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: in function 'GetAllRegs'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:136: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:135>
[14:21:19] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: attempt to index local 'cur' (a nil value)
stack traceback:
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: in function 'GetAllRegs'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:136: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:135>

[14:54:57] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:378: LuaSQL: error executing query. MySQL: MySQL server has gone away
stack traceback:
[C]: in function 'assert'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:378: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:307>

и форму бы веб-регистрации обновить, т.к капча 1.0 на официальном сайте новее появилась, но адаптировать не умею


хотелось бы иметь функцию регистрации в StatPX Lite (веб-формы, на главной странице сайта), основанную на Registrator, чтобы настройки ли из скрипта регистратора, блокирование чата итп, реально ли такое осуществить?
Go to the top of the page
+Quote Post
Kingston
сообщение 22.3.2014, 14:45
Сообщение #73


Активный участник
***

Группа: Пользователи
Сообщений: 85
Регистрация: 19.3.2009
Из: Россия, Хабаровский край, г.Комсомольск-на-Амуре
Пользователь №: 2 652
Спасибо сказали: 39 раз




Цитата(NightmareUA @ 29.1.2014, 3:42) *
Доброго времени суток, будет ли оптимизация под 0.5.0.1 lua 5.1.5 и вебформа с рабочей формой восстановления пароля и нормальной веб-регистрацией, у меня после 10 минут работы, скрипт отваливался (

На версии 0.5.0.x подключать библиотеки надо чуть по другому, вот так:
Код
luasql = require "luasql.mysql"

Остальных изменений вроде не надо.
В целом по скрипту скажу. На протяжении долгих месяцев ведется исправление незначительных багов, дописаны некоторые функции. Возможно выложу последнюю версию. Есть наработки - веб регистрация и восстановление пароля при наличии указанного email для восстановления.
Go to the top of the page
+Quote Post
NightmareUA
сообщение 1.4.2014, 19:40
Сообщение #74


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 27.11.2012
Пользователь №: 11 089
Спасибо сказали: 0 раз




Цитата(Kingston @ 22.3.2014, 13:45) *
На версии 0.5.0.x подключать библиотеки надо чуть по другому, вот так:
Код
luasql = require "luasql.mysql"

Остальных изменений вроде не надо.
В целом по скрипту скажу. На протяжении долгих месяцев ведется исправление незначительных багов, дописаны некоторые функции. Возможно выложу последнюю версию. Есть наработки - веб регистрация и восстановление пароля при наличии указанного email для восстановления.

очень хотелось бы увидеть новую версию, отличная работа вами проделана, капча будет обновлена для веб-регистрации?
использую open server для запуска!

по поводу luasql = require "luasql.mysql" именно так и делал, и через время получались ошибки что ранее писал ((
Go to the top of the page
+Quote Post

4 страниц V  « < 2 3 4
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsRegBot
API1, API2 | Скрипт регистрации юзеров на хабе
22 Jaska 33 323 6.5.2010, 0:08 Посл. сообщение: Streter

 



RSS Сейчас: 26.11.2024, 20:48