Показать сообщение отдельно
Soniks вне форума      Старый #2  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
16.02.2005, 23:35

Устраняем неполадку :) :
Для начала откройте фаил db/db.php, в самом начале увидите код:
PHP код:
 global $forum_admin
if (
$forum_admin == 1) { 
    
$the_include "../../../db"
} elseif (
$inside_mod == 1) { 
    
$the_include "../../db"
} else { 
    
$the_include "db"


Немного изменим код и кое-что удали, в результате получи такой код:
PHP код:
 if (eregi('db.php',$_SERVER['PHP_SELF'])) 

    die(
'Direct access not allowed!'); 

 
global 
$forum_admin
if (
$forum_admin == 1) { 
    
$the_include "../../../db"
} else { 
    
$the_include "db"



Дальше открываем фаил mainfile.php и приблизительно на строке 100 увидите код:
PHP код:
 if ($forum_admin == 1) { 
    require_once(
"../../../config.php"); 
    require_once(
"../../../db/db.php"); 
} elseif (
$inside_mod == 1) { 
    require_once(
"../../config.php"); 
    require_once(
"../../db/db.php"); 
} else { 


Удаляем не нужнуя часть и в результате получим:
PHP код:
 if ($forum_admin == 1) { 
    require_once(
"../../../config.php"); 
    require_once(
"../../../db/db.php"); 
} else { 


Теперь перейдем к downloads модулю, откройте modules/Downloads/index.php и приблизительно на строке 2354 найдите код:
PHP код:
 switch($d_op) { 
 
    case 
"menu"
    
menu($maindownload); 
    break; 
 
    case 
"AddDownload"
    
AddDownload(); 
    break; 

удаляем вредоносный кейс "menu" и получаем:
PHP код:
 switch($d_op) { 
 
    case 
"AddDownload"
    
AddDownload(); 
    break; 


Теперь давайте устраним брешь в переменной "newdownloadshowdays" в том же файле, в самом начале, найдите код:
PHP код:
 if (!eregi("modules.php"$_SERVER['PHP_SELF'])) { 
    die (
"You can't access this file directly..."); 

if (isset(
$show)) { 
    
$show intval($show); 


И замените на:
PHP код:
 if (!eregi("modules.php"$_SERVER['PHP_SELF'])) { 
    die (
"You can't access this file directly..."); 

if (isset(
$show)) { 
    
$show intval($show); 

 
if(isset(
$newdownloadshowdays)) 

$newdownloadshowdays min(max(intval($newdownloadshowdays),1),30); 


Теперь перейдем к модулю Web Links, откройте фаил modules/Web_Links/indeks.php и найдите приблизительно 2095 строке следующий код:
PHP код:
 switch($l_op) { 
 
    case 
"menu"
    
menu($mainlink); 
    break; 
 
    case 
"AddLink"
    
AddLink(); 
    break; 

Так же как и в даунлоде удаляем кейс "menu":
PHP код:
 switch($l_op) { 
 
    case 
"AddLink"
    
AddLink(); 
    break; 


Теперь переместитесь в начало файла, найдите код:
PHP код:
 get_lang($module_name); 
$pagetitle "- "._WEBLINKS.""
require_once(
"modules/Web_Links/l_config.php"); 
 
function 
getparent($parentid,$title) { 
    global 
$prefix$db

И замените его на:
PHP код:
 get_lang($module_name); 
$pagetitle "- "._WEBLINKS.""
require_once(
"modules/Web_Links/l_config.php"); 
 
if(isset(
$newlinkshowdays)) 

$newlinkshowdays min(max(intval($newlinkshowdays),1),30); 

 
function 
getparent($parentid,$title) { 
    global 
$prefix$db


Все баг устранен и исправлен )))