Здесь скоро опять что то будет...
Your fucking browser doesn't support JavaScript, so you can't post here.
Loading
Объявления
24.06.2005, 23:50
#1
Простоузер
Регистрация: 08.06.2005
Сообщений: 27
Версия vB: 3.6.6
Поблагодарил(-а): 10
Поблагодарили 1 раз в 1 сообщении
Репутация: Новичок (9 )
Smallnuke
Всем привет! Все кто соображает в вобле помогите людям! Очень просят!
У меня почему то не получается! Нужно сделать активацию в Smallnuke через vBulletin!
Там такой файл активации сделан, но работает только на лицензионной версии (проверка лицензии)! Переделать я его не смог т.к. файл зендом закодирован! (кто сможет раскодировать, пишиете!)
Но для примера как работает есть активация ИПБ
Код:
<?php
if ((!defined('SN_SiteSystem')) AND (!defined('SN_SiteSystemAdmin'))) {
Header("Location: ./index.php");
exit;
}
define("_SN_USERTABLE","members");
define("_SN_USERID","id");
define("_SN_USERNAME","name");
$edit_forum_profile = "".$conf['forum_path']."/index.php?act=UserCP&CODE=01";
$reg_forum_path = "".$conf['forum_path']."/index.php?act=Reg&CODE=00";
$los_password_path = "".$conf['forum_path']."/index.php?act=Reg&CODE=10";
$protokol = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;
if((!isset($_COOKIE['member_id'])) OR (!isset($_COOKIE['pass_hash'])) OR ($_COOKIE['member_id'] == "0") OR ($_COOKIE['pass_hash'] == "0")) {
$user = false;
} else if(($_COOKIE['member_id'] != "") AND ($_COOKIE['pass_hash'] != "") AND ($_COOKIE['member_id'] != "0") AND ($_COOKIE['pass_hash'] != "0")) {
$uid = intval($_COOKIE['member_id']);
$pass = $_COOKIE['pass_hash'];
$sql = "SELECT id, name, email, password FROM ".$conf['member_prefix']."_members WHERE id='$uid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if($row) {
$table_data = "".$row['id']."".$row['password']."";
$cookie_data = "".$uid."".$pass."";
if($table_data == $cookie_data) {
$user['member_id'] = $row['id'];
$user['member_login'] = $row['name'];
$user['member_mail'] = $row['email'];
}
else {
$user = false;
}
}
else {
$user = false;
}
}
else {
$user = false;
}
if(isset($_GET['logout'])) {
setcookie("member_id", "0", time(), $conf['cookie_path'], $conf['cookie_domain'], $protokol);
setcookie("pass_hash", "0", time(), $conf['cookie_path'], $conf['cookie_domain'], $protokol);
$user = false;
header("Location: index.php");
}
if(isset($_POST['login'])) {
$user_name = trim(strip_tags($_POST['user_name']));
$user_password = trim(strip_tags($_POST['user_password']));
if(($user_name == "") OR ($user_password == "")) {
header("Location: index.php?go=Members");
}
$code_password = md5($user_password);
$sql = "SELECT id, password FROM ".$conf['member_prefix']."_members WHERE name='$user_name' AND password='$code_password'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if(!$row) {
$user = false;
header("Location: index.php?go=Members");
} else {
$member_id = $row['id'];
$pass_hash = $row['password'];
$autologin = ( isset($_POST['autologin']) ) ? TRUE : 0;
if ($autologin) {
$expires = time() + $conf['live_cookie_time'];
} else {
$expires = "";
}
setcookie("member_id", "$member_id", $expires, $conf['cookie_path'], $conf['cookie_domain'], $protokol);
setcookie("pass_hash", "$pass_hash", $expires, $conf['cookie_path'], $conf['cookie_domain'], $protokol);
}
header("Location: index.php?go=Members");
}
?>
И вот оригинальная активация (не через форум)
Код:
<?php
######################################################################
# SmallNuke v2 Beta: Sites Build System
# ============================================
# Copyright (c) 2005 by Sergey Vipolzov (info@smallnuke.com)
# http://smallnuke.com
# ============================================
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License.
######################################################################
if ((!defined('SN_SiteSystem')) AND (!defined('SN_SiteSystemAdmin'))) {
Header("Location: ./index.php");
exit;
}
define("_SN_USERTABLE","members");
define("_SN_USERID","user_id");
define("_SN_USERNAME","username");
define("_SN_USERAGENT", substr($_SERVER['HTTP_USER_AGENT'], 0, 50));
$protokol = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;
if($conf['allow_cookie'] == 1) {
if($conf['register_user'] == 1) {
if((!isset($_SESSION['snss_member'])) AND (isset($_COOKIE[''.$conf['cookie_prefix'].'snss_member']))) {
session_register("snss_member");
if($_COOKIE[''.$conf['cookie_prefix'].'snss_member'] != "") {
$_SESSION['snss_member'] = $_COOKIE[''.$conf['cookie_prefix'].'snss_member'];
} else {
$user = false;
}
}
}
}
if(!isset($_SESSION['snss_member'])) {
session_register("snss_member");
$user = false;
}
else if($_SESSION['snss_member'] != "") {
$ses_user = addslashes($_SESSION['snss_member']);
$ses_user = base64_decode($ses_user);
$ses_user = explode(":", $ses_user);
$uid = intval($ses_user[0]);
$sql = "SELECT user_id, username, user_email, user_actkey, user_agent FROM ".$conf['member_prefix']."_members WHERE user_id='$uid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if($row) {
$table_data = "".$row['user_id']."".$row['username']."".$row['user_actkey']."".$row['user_agent']."";
$session_data = "".$ses_user[0]."".$ses_user[1]."".$ses_user[2]."".$ses_user[3]."";
if(($table_data == $session_data) AND (_SN_USERAGENT == $ses_user[3])) {
$user['member_id'] = $row['user_id'];
$user['member_login'] = $row['username'];
$user['member_mail'] = $row['user_email'];
}
else {
$user = false;
}
}
else {
$user = false;
}
}
else {
$user = false;
}
if(isset($_POST['login'])) {
$past = time()-86400;
$db->sql_query("DELETE FROM ".$conf['member_prefix']."_members WHERE user_id != '1' AND user_regdate < '$past' AND user_actkey = '' AND last_date = ''");
$user_name = trim(strip_tags($_POST['user_name']));
$user_password = trim(strip_tags($_POST['user_password']));
if(($user_name == "") OR ($user_password == "")) {
header("Location: index.php?go=Members");
}
$code_password = md5($user_password);
$sql = "SELECT user_id, username FROM ".$conf['member_prefix']."_members WHERE username='$user_name' AND user_password='$code_password'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if(!$row) {
$user = false;
header("Location: index.php?go=Members");
} else{
mt_srand ((double)microtime()*1000000);
$maxran = 1000000;
$user_actkey = mt_rand(0, $maxran);
$user_actkey = md5($user_actkey);
$setuid = $row['user_id'];
$setusername = $row['username'];
$last_ip = $_SERVER['REMOTE_ADDR'];
$last_date = time();
$db->sql_query("UPDATE ".$conf['member_prefix']."_members SET user_actkey = '$user_actkey', user_agent = '"._SN_USERAGENT."', last_ip = '$last_ip', last_date = '$last_date' WHERE user_id='$setuid'");
$info = base64_encode("".$setuid.":".$setusername.":".$user_actkey.":"._SN_USERAGENT."");
$_SESSION['snss_member'] = "$info";
if($conf['allow_cookie'] == 1) {
$autologin = ( isset($_POST['autologin']) ) ? TRUE : 0;
if ($autologin) {
setcookie("".$conf['cookie_prefix']."snss_member", "$info", time() + $conf['live_cookie_time'], $conf['cookie_path'], $conf['cookie_domain'], $protokol);
}
}
}
header("Location: index.php?go=Members");
}
if(isset($_GET['logout'])) {
session_unset();
if($conf['allow_cookie'] == 1) {
setcookie("".$conf['cookie_prefix']."snss_member", "", time(), $conf['cookie_path'], $conf['cookie_domain'], $protokol);
}
$user = false;
header("Location: index.php");
}
?>
27.06.2005, 17:28
#2
Продвинутый
Регистрация: 31.05.2005
Сообщений: 237
Поблагодарил(-а): 3
Поблагодарили 22 раз(а) в 10 сообщениях
Репутация: Опытный (56 )
Тогда нужно в терминах разобраться:
Активация - подтверждение регистрации (осущ. через ссылку или вводом кода)
Авторизация - процесс написания логина и пароля, также известна как "вход".
Чего нужно-то?
13.08.2005, 02:08
#3
Простоузер
Регистрация: 08.06.2005
Сообщений: 27
Версия vB: 3.6.6
Поблагодарил(-а): 10
Поблагодарили 1 раз в 1 сообщении
Репутация: Новичок (9 )
Народ извините уезжал, не мог разъяснить ситуацию!
Короче я нашел не закодированную совместную авторизацию форума и smallnuke!
Помогите пределать!
Код:
<?php
######################################################################
# SmallNuke v2 Beta: Sites Build System
# ============================================
# Copyright (c) 2005 by Sergey Vipolzov (info@smallnuke.com)
# http://smallnuke.com
# ============================================
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License.
######################################################################
if ((!defined('SN_SiteSystem')) AND (!defined('SN_SiteSystemAdmin'))) {
Header("Location: ./index.php");
exit;
}
define("_SN_USERTABLE","user");
define("_SN_USERID","userid");
define("_SN_USERNAME","username");
$reg_forum_path = ''.$forum_path.'/register.php';
$los_password_path = ''.$forum_path.'/login.php?do=lostpw';
$edit_forum_profile = ''.$forum_path.'/usercp.php';
$cookietimeout = 1800;
$tableprefix = $conf['member_prefix'];
$cookieprefix = $conf['cookie_prefix'];
/*
// Установка контрольного значения в лицензионных версиях
$filename = 'vBulletin/includes/vbulletin_credits.php';
$fp = fopen($filename, "r");
for($line = 1; $line <= 4; $line++) {
$buffer = fgets($fp, 4096);
}
$vblicensenumber = substr(trim($buffer), -8);
fclose($fp);
*/
// Контрольное значение от 0 версии команды DGT
$vblicensenumber = 'DGT';
if(isset($_COOKIE[$cookieprefix.'userid']) && isset($_COOKIE[$cookieprefix.'password'])) {
$sql = "SELECT userid, username, password, email FROM ".$tableprefix."_user WHERE userid = '".$_COOKIE[$cookieprefix.'userid']."'";
$result = $db->sql_query($sql);
$userdata = $db->sql_fetchrow($result);
if($userdata) {
if(md5($userdata['password'].$vblicensenumber) == $_COOKIE[$cookieprefix.'password']) {
$user['member_id'] = $userdata['userid'];
$user['member_login'] = $userdata['username'];
$user['member_mail'] = $userdata['email'];
}
}
}
if(isset($_POST['login'])) {
if(strlen($_POST['user_name']) != 0) {
$sql = "SELECT userid, username, password, email, salt FROM ".$tableprefix."_user WHERE username = '".addslashes(htmlspecialchars($_POST['user_name']))."'";
$result = $db->sql_query($sql);
$userdata = $db->sql_fetchrow($result);
if($userdata) {
if($userdata['password'] != md5(md5($_POST['user_password']) . $userdata['salt']) ) {
// Неверный пароль
$user = false;
}
else {
$user['member_id'] = $userdata['userid'];
$user['member_login'] = $userdata['username'];
$user['member_mail'] = $userdata['email'];
$autologin = ( isset($_POST['autologin']) ) ? TRUE : 0;
if ($autologin) {
$expire = time() + 60*60*24*365;
} else {
$expire = time() + $cookietimeout;
}
setcookie("".$cookieprefix."userid", $userdata['userid'], $expire, $conf['cookie_path'], $conf['cookie_domain']);
setcookie("".$cookieprefix."password", md5($userdata['password'].$vblicensenumber), $expire, $conf['cookie_path'], $conf['cookie_domain']);
}
}
else {
// Не существующий логин
$user = false;
}
}
else {
// Не указан логин
$user = false;
}
}
if(isset($_GET['logout'])) {
if(isset($_COOKIE[$cookieprefix.'userid']) > 0) {
$db->sql_query("UPDATE ".$tableprefix."_user SET lastactivity='".(time()-$cookietimeout)."',lastvisit='".time()."' WHERE userid='".$_COOKIE[$cookieprefix.'bbuserid']."'");
$db->sql_query("DELETE FROM ".$tableprefix."_session WHERE userid='".$_COOKIE[$cookieprefix.'userid']."'");
}
foreach($_COOKIE AS $key => $val) {
if(substr($key, 0, 2) == $cookieprefix) {
setcookie($key, '', time() + 60*60*24*365, $conf['cookie_path'], $conf['cookie_domain']);
}
}
$user = false;
header("Location: index.php");
}
if(isset($_COOKIE[$cookieprefix.'userid']) == 0) {
$user = false;
}
?>
Вот это для лицензионной версии (сейчас отключено, закомментированно)
Код:
/*
// Установка контрольного значения в лицензионных версиях
$filename = 'vBulletin/includes/vbulletin_credits.php';
$fp = fopen($filename, "r");
for($line = 1; $line <= 4; $line++) {
$buffer = fgets($fp, 4096);
}
$vblicensenumber = substr(trim($buffer), -8);
fclose($fp);
*/
А вот нуленая от DGT имеет контрольное значение: DGT
Код:
$vblicensenumber = 'DGT';
Так вот мне интересно какое контрольное значение у релиза - русской версии 3.0.7 от Морковки?
Или хотябы где взять релиз 3.0.7 от DGT? Заранее всем благодарен!
14.08.2005, 23:35
#4
Простоузер
Регистрация: 08.06.2005
Сообщений: 27
Версия vB: 3.6.6
Поблагодарил(-а): 10
Поблагодарили 1 раз в 1 сообщении
Репутация: Новичок (9 )
Народ, что никто не поможет!
15.08.2005, 19:56
#5
Простоузер
Регистрация: 06.08.2005
Сообщений: 10
Поблагодарил(-а): 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: Новичок (0 )
Смалл нюка хорошая вещь, ничего лишнего, особенно вторая версия нюки, правда модулей различный маловато от разработчика, из-за нехватки времени, так как это его хобби. Но я считаю нюку одной из самых нормальных, без сбоев, в базе тоже ничего лишнего, легкое прикручивание форумов типа VB. IPB. phpBB. Вобщем мне оч нрав )) И первой версией пользовалась и второй пользуюсь. Доработать нюку под собсвенные нужны тоже не так трудно.
18.08.2005, 23:23
#6
Простоузер
Регистрация: 08.06.2005
Сообщений: 27
Версия vB: 3.6.6
Поблагодарил(-а): 10
Поблагодарили 1 раз в 1 сообщении
Репутация: Новичок (9 )
Если не кто не будет помогать! То хоть скажите это!
09.09.2005, 19:34
#7
Простоузер
Регистрация: 09.09.2005
Сообщений: 4
Поблагодарил(-а): 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: Новичок (0 )
Цитата:
Сообщение от Chernobyl
Если не кто не будет помогать! То хоть скажите это!
У тебя еще осталась авторизация портала smallnuke для vbulletin от DGT? Может обменяемся? У меня есть vbulletin 3.0.7 DGT
13.01.2006, 14:09
#8
Простоузер
Регистрация: 13.01.2006
Сообщений: 1
Поблагодарил(-а): 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: Новичок (0 )
Chernobyl Скажи пожалуйста ты разобрался с активацией тогда может поделишься
13.01.2006, 19:15
#9
Продвинутый
Регистрация: 02.12.2005
Сообщений: 206
Поблагодарил(-а): 27
Поблагодарили 79 раз(а) в 40 сообщениях
Репутация: Опытный (82 )
bobs
Ну дык, поставь булку 3.5.2 с кейгеном и лицензионную версию нюка.
там же в коде нюка видно, что он читает первые 4 строчки булетиновского файла vbulletin_credits.php'
PHP код:
for( $line = 1 ; $line <= 4 ; $line ++) {
$buffer = fgets ( $fp , 4096 );
}
а потом в переменную $vblicensenumber загоняет последние 8 символов, что и есть код активации.
PHP код:
$vblicensenumber = substr ( trim ( $buffer ), - 8 );
Опции темы
Опции просмотра
Линейный вид
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Текущее время: 07:34 23.05.2012 . Часовой пояс GMT +4.