Jump to content
Sign in to follow this  
V3ct0r

Скрипт регистрации с рейтингом персонажей

Recommended Posts

Скрипт регистрации с рейтингом персонажей

 

r1.png

r2.png

r3.png

r4.png

 

Данный скрипт предназначен для создания игроками игровых аккаунтов (регистрации на сервере).

 

Особенности:

  1. Нестандартный дизайн;
  2. Антибот - Captcha
  3. Мультиязычность;
  4. Рейтинг игроков по опыту;
  5. Рейтинг игроков по золоту;
  6. Рейтинг гильдий;
  7. Кеширование рейтингов;
  8. Самый сильный и самый богатый пираты на главной странице;
  9. Отсутствуют уязвимости.

 

Настройка:

1) Поместите файлы из архива с регистрацией в рабочую папку Вашего веб-сервера;

2) Откройте файл config.php и настройте его:

 

Соединение с MSSQL-сервером:

$config['db'] = array('host'     => 'Адрес',
		      'user' 	 => 'Пользователь',
		      'password' => 'Пароль');

Название сервера (на главной странице):

$config['server'] = array('name' => 'Название сервера');

Рейтинги:

$config['top'] = array('exp_num'     => Количество игроков в рейтинге по уровню,
		       'gold_num'    => Количество игроков в рейтинге по золоту, 
		       'guild_num'   => Количество гильдий в рейтинге гильдий,
		       'top_refresh' => Время обновления рейтингов в секундах);

Язык (rus или eng):

$config['other']['lang'] = 'rus';

Показывать сильнейших пиратов (true = да, false = нет):

$config['other']['show_strong'] = true;

3) Сохраните проделанные изменения;

4) Проверьте работоспособность регистрации.

 

Скачать (753 КБ):

registration.zip

  • Like 1

Share this post


Link to post
Share on other sites

 @V3ct0r  ,странно,стоит опен сервер, запущены пхп 5,6 апач 2,4  Mssql 2014,и отчего то при открытии просто белый экран и кода странцы нет.

в логах апач запросов
pirat: 127.0.0.1 [01/May/2016:00:52:11 +0800] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"

Edited by kalatrava

Share this post


Link to post
Share on other sites

@kalatrava

 

1) В php выключен вывод ошибок;

2) Возможно к php не подключены библиотеки для работы с MSSQL сервером или php.exe скомпилирован без поддержки MSSQL. В старых версиях XAMPP (например, 1.6.8) все работает из коробки.


Share this post


Link to post
Share on other sites

@V3ct0r

Библиотеки ставил (драйвер php 5,6ts) как скомпилирован php.exe это остается великой тайной. Спасибо, попробую завтра на более старых версиях поднять. За скрипт спасибо. Валаяются скрипты с мд и пиратия су, такая же проблема с ними,  на пхп 5,2 работают, на все остальном белый экран. 

Если актуально могу выложить тут эти скрипты

Edited by kalatrava

Share this post


Link to post
Share on other sites

@V3ct0r, @kalatrava в более новых версиях Xampp-а, все решалось заменой библиотек ntwdblib.dll.

Компрессором открывали - mssql_connect_apache_24.exe, "копировалась" с заменой библиотека ntwdblib.dll в директорию Xampp-a.

После этого сайты успешно прогружались, проблемы с белой страницой более не было.

 

К сожалению, mssql_connect_apache_24.exe, а так же пропатченной ntwdblib.dll, не осталось.

 

kalatrava, а про какие скрипты идёт речь?

В доступе их уже нет?

Edited by aleksandr

Share this post


Link to post
Share on other sites
14 часа назад, aleksandr сказал:

@V3ct0r, @kalatrava в более новых версиях Xampp-а, все решалось заменой библиотек ntwdblib.dll.

Компрессором открывали - mssql_connect_apache_24.exe, "копировалась" с заменой библиотека ntwdblib.dll в директорию Xampp-a.

После этого сайты успешно прогружались, проблемы с белой страницой более не было.

 

К сожалению, mssql_connect_apache_24.exe, а так же пропатченной ntwdblib.dll, не осталось.

 

kalatrava, а про какие скрипты идёт речь?

В доступе их уже нет?

пока поезжу на пхп 5,2 значит, пока не найдется решение.

Полностью веб обвязки с топом, с магазином, с редактором персонажей и инвентаря, аки, чары. В доступе есть. Вот с мд http://forum.maindev.ru/threads/podarok-ot-zlogo-tigra.19509/ и вот с пиратии.су http://piratia.su/forum/63-veb-obviazki/

Edited by kalatrava

Share this post


Link to post
Share on other sites

@V3ct0r, @aleksandr Колдуя с библиотеками так и не вышло ничего. Все беда в том что функция mssql_connet в пхп выше 5,2 не работает. Проблему конекта решил функцией sqlsrv_connect () , правда запросы отличаются от mssql_connet, их все надо переписывать. 

Проверял на пхп 5,4

Вот скрипт проверки подключения к базе

 

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Подключен.<br />";
}else{
     echo "Подключение не удалось.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

 

Edited by kalatrava

Share this post


Link to post
Share on other sites

ВНИМАНИЕ!

ВОЗМОЖНЫ SQL-ИНЪЕКЦИИ

 

index.php

Уязвимый код


Строка 21

if ((eregi("[^a-z0-9_-]", $login)) || (eregi("[^a-z0-9_-]", $pass)) ) {

eregi - устаревшее расширение, имеющее нульбайтовую уязвимость

Строки 36-37

$email = $_POST['email'];
do_query("INSERT INTO account_login (name,password,originalPassword,email) VALUES ('$login','$encr_pass','$pass', '$email')","AccountServer");

Переменная email не обрабатывается никак вообще.

 

За наводку спасибо duduf


Share this post


Link to post
Share on other sites

@Спейсио

вместо функции eregi() нужно использовать preg_match() и проверять поле 'email' на недопустимые символы.

Позже выложу исправленный скрипт


Share this post


Link to post
Share on other sites

Используйте плейсхолдеры и тогда входящие переменные обрабатывать вообще не нужно. Не пишите быдлокод начала 2000ых.

Вот документация по sqlsrv_query: https://msdn.microsoft.com/ru-RU/library/cc296184(v=sql.105).aspx

 

Тогда пример будет переписан как:

sqlsrv_query($conn, "INSERT INTO accountserver.dbo.account_login (name,password,originalPassword,email) VALUES (?, ?, ?, ?)", array($login, $encr_pass, $pass, $email));

И все, никакая фильтрация не нужна.
 

  • Like 1

Share this post


Link to post
Share on other sites
В 06.07.2016 в 14:58, V3ct0r сказал:

ВНИМАНИЕ!

ВОЗМОЖНЫ SQL-ИНЪЕКЦИИ

 

index.php

Уязвимый код


Строка 21


if ((eregi("[^a-z0-9_-]", $login)) || (eregi("[^a-z0-9_-]", $pass)) ) {

eregi - устаревшее расширение, имеющее нульбайтовую уязвимость

Строки 36-37


$email = $_POST['email'];
do_query("INSERT INTO account_login (name,password,originalPassword,email) VALUES ('$login','$encr_pass','$pass', '$email')","AccountServer");

Переменная email не обрабатывается никак вообще.

 

За наводку спасибо duduf

 

Исправлено


Share this post


Link to post
Share on other sites
В 07.07.2016 в 01:23, insider сказал:

Используйте плейсхолдеры и тогда входящие переменные обрабатывать вообще не нужно. Не пишите быдлокод начала 2000ых.

Вот документация по sqlsrv_query: https://msdn.microsoft.com/ru-RU/library/cc296184(v=sql.105).aspx

 

Тогда пример будет переписан как:


sqlsrv_query($conn, "INSERT INTO accountserver.dbo.account_login (name,password,originalPassword,email) VALUES (?, ?, ?, ?)", array($login, $encr_pass, $pass, $email));

И все, никакая фильтрация не нужна.
 

 

За основу данной регистрации был взят древний код из ToPCP, так что по хорошему надо все переписывать с нуля


Share this post


Link to post
Share on other sites

Рега кривая, проверенно, при создании аккаунтов , ничего не создаётся, будто символы не те, получилось создать только aaaaaaaa пароль такой же... Надо дорабатывать. 

Share this post


Link to post
Share on other sites

@BotPRO

Нет желания доработать?)


Share this post


Link to post
Share on other sites

Все просто:

if(!preg_match("^[0-9a-z]+[-\._0-9a-z]*@[0-9a-z]+[-\._^0-9a-z]*[0-9a-z]+[\.]{1}[a-z]{2,6}$", $_POST['email'])){
...
}

Я когда писал регу для лайфа, сразу это учитывал.


gigabar.png.c3c21d2a586d5395019e41be9510900b.png

По всем вопросам, обращайтесь [email protected]

Share this post


Link to post
Share on other sites
В 30.04.2016 в 19:38, V3ct0r сказал:

Скрипт регистрации с рейтингом персонажей

 

898054d9afa6t.jpgd3154fdd0013t.jpg3d0bc178b82ft.jpg80d1ea043ca0t.jpg

 

Не заливайте пожалуйста изображения на сторонние хостинги, через какое-то время они их удаляют. Потом лишняя трата времени на восстановление их.

Share this post


Link to post
Share on other sites
7 часов назад, Спейсио сказал:

Не заливайте пожалуйста изображения на сторонние хостинги, через какое-то время они их удаляют. Потом лишняя трата времени на восстановление их.

На нашем форуме, к сожалению, не так много места, чтобы заливать изображения.


Share this post


Link to post
Share on other sites
15 минут назад, V3ct0r сказал:

На нашем форуме, к сожалению, не так много места, чтобы заливать изображения.

По сути тут не так много грузят картинок.

Или как вариант заливать в такие места, где они удалены не будут (создать мультра вк и отправлять ему в личку, и из лички брать ссылку, вот и вечная картинка). И просто от туда брать ссылку.

Или уменьшить вес допустимых изображений. К примеру 200кб максимум и добавлять на форуме. Вот, если зайти на тот же майндев, там половина была на пикуче и радикале. Пикучу перекупили, а радикал удаляет картинки.

Share this post


Link to post
Share on other sites
В 30.04.2016 в 14:38, V3ct0r сказал:

Скрипт регистрации с рейтингом персонажей

 

898054d9afa6t.jpgd3154fdd0013t.jpg3d0bc178b82ft.jpg80d1ea043ca0t.jpg

 

Данный скрипт предназначен для создания игроками игровых аккаунтов (регистрации на сервере).

 

Особенности:

  1. Нестандартный дизайн;
  2. Антибот - Captcha
  3. Мультиязычность;
  4. Рейтинг игроков по опыту;
  5. Рейтинг игроков по золоту;
  6. Рейтинг гильдий;
  7. Кеширование рейтингов;
  8. Самый сильный и самый богатый пираты на главной странице;
  9. Отсутствуют уязвимости.

 

Настройка:

1) Поместите файлы из архива с регистрацией в рабочую папку Вашего веб-сервера;

2) Откройте файл config.php и настройте его:

 

Соединение с MSSQL-сервером:


$config['db'] = array('host'     => 'Адрес',
		      'user' 	 => 'Пользователь',
		      'password' => 'Пароль');

Название сервера (на главной странице):


$config['server'] = array('name' => 'Название сервера');

Рейтинги:


$config['top'] = array('exp_num'     => Количество игроков в рейтинге по уровню,
		       'gold_num'    => Количество игроков в рейтинге по золоту, 
		       'guild_num'   => Количество гильдий в рейтинге гильдий,
		       'top_refresh' => Время обновления рейтингов в секундах);

Язык (rus или eng):


$config['other']['lang'] = 'rus';

Показывать сильнейших пиратов (true = да, false = нет):


$config['other']['show_strong'] = true;

3) Сохраните проделанные изменения;

4) Проверьте работоспособность регистрации.

 

Скачать (753 КБ):

registration.zip 753 \u043a\u0411 · 331 загрузка

и снова я к тебе, скачал, поставил
первым делом включил вывод ошибок, но все равно не пойму что не так, почему ругается на 22 строку.
тапком не кидайтесь, позабыл большую часть что как делать =(
de6f5a6d2895.jpg
 

Share this post


Link to post
Share on other sites
19 minutes ago, FeikO said:

и снова я к тебе, скачал, поставил
первым делом включил вывод ошибок, но все равно не пойму что не так, почему ругается на 22 строку.
тапком не кидайтесь, позабыл большую часть что как делать =(
de6f5a6d2895.jpg
 

Эта старая функция и если вы используете пхп 7+, то она просто не существует.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...