Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
 
 
 
 

 
 
Здесь скоро опять что то будет...
 
 
 
 
 
 
Loading

Вернуться   форум vBSupport.org > vBulletin > CMS (Порталы)

Объявления
  • Изменения в правах
  • Каталог Фрилансеров
  • Добро пожаловать!
  • Premoderation
  • Новичкам!
  • For English speaking users
Ответ
 
Опции темы Опции просмотра
Старый 24.06.2005, 23:50   #1
Простоузер
Exclamation 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
Mister_i
Продвинутый
 
Аватар для Mister_i
Тогда нужно в терминах разобраться:
Активация - подтверждение регистрации (осущ. через ссылку или вводом кода)
Авторизация - процесс написания логина и пароля, также известна как "вход".
Чего нужно-то?
  Ответить с цитированием
Старый 13.08.2005, 02:08   #3
Chernobyl
Простоузер
Народ извините уезжал, не мог разъяснить ситуацию!
Короче я нашел не закодированную совместную авторизацию форума и 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
Chernobyl
Простоузер
Народ, что никто не поможет!
  Ответить с цитированием
Старый 15.08.2005, 19:56   #5
Amina
Простоузер
Смалл нюка хорошая вещь, ничего лишнего, особенно вторая версия нюки, правда модулей различный маловато от разработчика, из-за нехватки времени, так как это его хобби. Но я считаю нюку одной из самых нормальных, без сбоев, в базе тоже ничего лишнего, легкое прикручивание форумов типа VB. IPB. phpBB. Вобщем мне оч нрав )) И первой версией пользовалась и второй пользуюсь. Доработать нюку под собсвенные нужны тоже не так трудно.
  Ответить с цитированием
Старый 18.08.2005, 23:23   #6
Chernobyl
Простоузер
Если не кто не будет помогать! То хоть скажите это!
  Ответить с цитированием
Старый 09.09.2005, 19:34   #7
Art1712
Простоузер
Lightbulb

Цитата:
Сообщение от Chernobyl
Если не кто не будет помогать! То хоть скажите это!
У тебя еще осталась авторизация портала smallnuke для vbulletin от DGT? Может обменяемся? У меня есть vbulletin 3.0.7 DGT
  Ответить с цитированием
Старый 13.01.2006, 14:09   #8
bobs
Простоузер
Chernobyl Скажи пожалуйста ты разобрался с активацией тогда может поделишься
  Ответить с цитированием
Старый 13.01.2006, 19:15   #9
fill747
Продвинутый
 
Аватар для fill747
bobs
Ну дык, поставь булку 3.5.2 с кейгеном и лицензионную версию нюка.
там же в коде нюка видно, что он читает первые 4 строчки булетиновского файла vbulletin_credits.php'

PHP код:
    for($line 1$line <= 4$line++) {
    
$buffer fgets($fp4096);
    } 
а потом в переменную $vblicensenumber загоняет последние 8 символов, что и есть код активации.

PHP код:
$vblicensenumber substr(trim($buffer), -8); 
  Ответить с цитированием
Ответ

Закладки

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



 
 

Текущее время: 07:34 23.05.2012. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.6.2
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод: zCarot