- Баллы
- 98
- Имя в Minecraft
- _Starr_
Здравствуйте.
В этой теме я буду выкладывать скрипты для привязки вебчасти FMXLauncher к вашему серверу.
Кидайте свои CMS, структуру их таблиц (обязательно) и метод хеширования.
Буду помогать и добавлять сюда
DLE:
WebMCR:
WordPress:
+ Добавить в корень со скриптами файлик из WordPress /wp_includes/class-phpass.php
PunBB:
AuthMe:
VBulletin:
IP.Board:
XenForo (1.1 и ниже):
Помогайте дополнять тему, буду признателен
В этой теме я буду выкладывать скрипты для привязки вебчасти FMXLauncher к вашему серверу.
Кидайте свои CMS, структуру их таблиц (обязательно) и метод хеширования.
Буду помогать и добавлять сюда

DLE:
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$user = array(
'login' => $login,
'password' => md5(md5($password))
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `name`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
WebMCR:
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$user = array(
'login' => $login,
'password' => md5($password)
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `login`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
WordPress:
PHP:
<?php
include_once('settings.php');
include_once('class-phpass.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$wp_hasher = new PasswordHash(8, TRUE);
$user = array(
'login' => $login,
'password' => $password
);
$sql = $db_handle->prepare("SELECT `user_pass` FROM `{$players_table_name}` WHERE `user_login`=:login");
if ($sql->execute(array('login' => $login))) {
$password_hashed = $sql->fetchColumn();
if($wp_hasher->CheckPassword($password, $password_hashed)) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
PunBB:
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT salt FROM `{$players_table_name}` WHERE `username`=:username");
$sth->execute(array(
'username' => $login,
));
$getsalt=$sth->fetch(PDO::FETCH_ASSOC);
$salt = $getsalt['salt'];
$user = array(
'login' => $login,
'password' => sha1($salt.sha1($password))
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `login`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
AuthMe:
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT `password` FROM `{$players_table_name}` WHERE `username`=:login");
if ($sth->execute(array('login' => $login))) {
$gethash=$sth->fetch(PDO::FETCH_ASSOC);
$hash = $gethash['password'];
$exp = preg_split('/\\$/', $hash);
$salt = $exp[2];
$rpass = '$SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
} else {
return USER_NOT_EXISTS;
}
$user = array(
'login' => $login,
'password' => $rpass
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `username`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
VBulletin:
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT salt FROM `{$players_table_name}` WHERE `username`=:username");
$sth->execute(array(
'username' => $login,
));
$getsalt=$sth->fetch(PDO::FETCH_ASSOC);
$salt = $getsalt['salt'];
$user = array(
'login' => $login,
'password' => md5(md5($password).$salt)
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `username`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
IP.Board:
Версия 3.x
Версия 4.x
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT members_pass_salt FROM `{$players_table_name}` WHERE `name`=:username");
$sth->execute(array(
'username' => $login,
));
$getsalt=$sth->fetch(PDO::FETCH_ASSOC);
$salt = $getsalt['members_pass_salt'];
$user = array(
'login' => $login,
'password' => md5(md5($salt).md5($password))
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `name`=:login AND BINARY `members_pass_hash`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT members_pass_salt FROM `{$players_table_name}` WHERE `name`=:username");
$sth->execute(array(
'username' => $login,
));
$getsalt=$sth->fetch(PDO::FETCH_ASSOC);
$salt = $getsalt['members_pass_salt'];
if (mb_strlen($salt) === 22) {
$user = array(
'login' => $login,
'password' => crypt($password, '$2a$13$' . $salt)
);
}
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `name`=:login AND BINARY `members_pass_hash`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
XenForo (1.1 и ниже):
PHP:
<?php
include_once('settings.php');
define('USER_EXISTS' , 0);
define('USER_NOT_EXISTS', 1);
define('SQL_ERROR' , 2);
function IsPlayerInBase($db_handle, $login, $password) {
global $players_table_name;
$sth = $db_handle->prepare("SELECT `salt` FROM `{$players_table_name}` WHERE `login`=:login");
$sth->execute(array(
'login' => $login,
));
$getsalt=$sth->fetch(PDO::FETCH_ASSOC);
$salt = $getsalt['salt'];
$rpass = hash('sha256',hash('sha256',$password).$salt);
$user = array(
'login' => $login,
'password' => $rpass
);
$sql = $db_handle->prepare("SELECT COUNT(1) FROM `{$players_table_name}` WHERE `login`=:login AND BINARY `password`=:password");
if ($sql->execute($user)) {
if ($sql->fetchColumn()) {
return USER_EXISTS;
} else {
return USER_NOT_EXISTS;
}
} else {
return SQL_ERROR;
}
}
?>
Помогайте дополнять тему, буду признателен

Последнее редактирование:


В прочем я чайник в этом деле
что именно легче, то что предложил я или ты?