Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вызов скрипта только из определённой директории
 
 автор: Panker   (30.11.2006 в 11:09)   письмо автору
 
 

Пожалуйста, обьясните мне, как мне сделать защиту данного скрипта, что бы вызыв модуля мог происходить ТОЛЬКО ИЗ папки modules, и нельзя было сделать что то типа ../user_plugins/admin,php и так далее, что бы вызом мог существовать только из папки плугин не выше не ниже


Стартует проверка и подключение модулей!//
    ob_start();                    
    $mod=$_GET["mod"];                    
    if($mod==""){$mod=index;}                
    if (!IsSet($mod))                
    {                            
    include "./modules/".$mod.".php";    
    }                
    else     
    {                                                                    
    include "./modules/".$mod.".php";
    }                                                                    
    $contents=ob_get_contents();                                                
    ob_end_clean();        

   
 
 автор: isset   (30.11.2006 в 11:54)   письмо автору
 
   для: Panker   (30.11.2006 в 11:09)
 

$mod=basename($_GET["mod"]);

   
 
 автор: Panker   (30.11.2006 в 12:30)   письмо автору
 
   для: isset   (30.11.2006 в 11:54)
 

что то я погоречился...или запутался

Вот код выше он открывает страницы в моей кмс, то есть вводится модуль, и страница!

что т оя сколько не старался открыть так админку не поулчается!

пример index.php?modules=../adminestrato/password.php не открывается файл!

а вроде бы должен, или нет? :(
что то сам не понимаю что защишаю :(

   
 
 автор: tuder   (30.11.2006 в 14:04)   письмо автору
 
   для: Panker   (30.11.2006 в 12:30)
 

Наверное, всё же так надо вызывать?


index.php?mod="adminestrato/password"


Остальное подставится здесь:

 include "./modules/".$mod.".php";  


А в приведённом примере пытается открыться

./modules/../adminestrato/password.php.php

Причём непонятно откуда, и каким образом параметр modules попадёт в переменную $mod

   
 
 автор: tuder   (30.11.2006 в 14:11)   письмо автору
 
   для: Panker   (30.11.2006 в 12:30)
 

>что то сам не понимаю что защишаю :(

Это точно.


 if (!IsSet($mod))                 
    {                             
    include "./modules/".$mod.".php";     
    }                 
    else      
    {                                                                     
    include "./modules/".$mod.".php"; 
    }   


"Есть ли жинзнь на Марсе, нет ли жизни на Марсе..." (с)
У тебя в любом случае попытка открыть одно и то же. Даже несуществующее.



 if (!IsSet($mod))                 
    {                             
    include ("./modules/".$mod.".php");     
    }                 
    else      
    {                                                                     
    include ("index.php"); 
    }   


Примерно так, однако ?

   
 
 автор: isset   (01.12.2006 в 13:41)   письмо автору
 
   для: Panker   (30.11.2006 в 12:30)
 

сам же написал, "только из папки плугин не выше не ниже"

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования