/var/www/юзер/data/www/сайт.ru/authorization/actions/agreement.php
/var/www/юзер/data/www/сайт.ru/test2.php
Файл test2.php - подключает в себя инклюдом простенький маршрутник, который имеет примерно следующий код:
function auth()
{
if(isset($_REQUEST['do']) && !empty($_REQUEST['do']))
{
if(file_exists('authorization/actions/'.$_REQUEST['do'].'.php '))
{
//Подключаем файл в зависимости от значения переменной "do"
include('authorization/actions/'.$_REQUEST['do'].'.php ');
}
else print 'Не обнаружен файл:<br>authorization/actions/'.$_REQUEST['do'].'.php ';
}
}
Так вот при работе локально на денвере - всё нормально работает, залил на хостинг - пишет: Не обнаружен файл:..... Т.е. физически файлы есть, пути правильные, а найти файл не может.
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
include('authorization/actions/'.$_REQUEST['do'].'.php ');
Спустя 7 минут, 53 секунды (21.04.2010 - 07:50) Ka4_0k написал(а):
Посмотри что в $_SERVER['DOCUMENT_ROOT'] и подключай файлы относительно его (т.е. относительно корня). И ещё лучше создать список разрешённых файлов, а то можно подключить любой файл
Если я в url например укажу
http://site.ru/index.php?do=../../../../../etc/passwd ? =)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
http://site.ru/index.php?do=../../../../../etc/passwd ? =)
Спустя 4 минуты, 2 секунды (21.04.2010 - 07:54) moskitos80 написал(а):
Ka4_0k - Спасибо буду проверять - отпишусь.
Спустя 1 час, 9 минут, 7 секунд (21.04.2010 - 09:03) moskitos80 написал(а):
Всё равно не работает. Но я тут осознал такую вещь - корень сайта - это поддомен и найти теперь не может так:
/var/www/юзер/data/www/сайт.ru/authorization/actions/agreement.php
хотя адрес такой:
блин - подскажите, как в таком случае динамические ссылки прописывать???
/var/www/юзер/data/www/сайт.ru/authorization/actions/agreement.php
хотя адрес такой:
http://some.сайт.ru
блин - подскажите, как в таком случае динамические ссылки прописывать???
Спустя 3 часа, 5 минут, 36 секунд (21.04.2010 - 12:09) moskitos80 написал(а):
Всё разобрался сам! В предыдущем посте сверху у меня не срабатывал роутер - конструкция вида:
Кто бы мог подумать, вопрос - кому интересно изнасиловать свой мозг - в коде есть ошибка - подскажу: синтаксическая. Подумайте, где? Пути в расчёт не брать - они правильные...
- Тем, кому мозг дорог - отвечаю: у меня поставлены пробелы между путём файла и закрывающей кавычкой - '.php '! Из за этого пути, фактически оказались не верными! Система по-ходу дела воспринимает эти пробелы как символ в конце файла и отсюда все тараканы...
PS
Люди будьте внимательны - не наступайте на такие же грабли. Я за сутки дебаггинга с этой проблемой чуть дураком не стал - шутка ли: пути правильные, файлы на месте, а ничё не работает!!!
function auth()
{
if(isset($_REQUEST['do']) && !empty($_REQUEST['do']))
{
if(file_exists('authorization/actions/'.$_REQUEST['do'].'.php '))
{
//Подключаем файл в зависимости от значения переменной "do"
include('authorization/actions/'.$_REQUEST['do'].'.php ');
}
else print 'Не обнаружен файл:<br>authorization/actions/'.$_REQUEST['do'].'.php ';
}
}
Кто бы мог подумать, вопрос - кому интересно изнасиловать свой мозг - в коде есть ошибка - подскажу: синтаксическая. Подумайте, где? Пути в расчёт не брать - они правильные...
- Тем, кому мозг дорог - отвечаю: у меня поставлены пробелы между путём файла и закрывающей кавычкой - '.php '! Из за этого пути, фактически оказались не верными! Система по-ходу дела воспринимает эти пробелы как символ в конце файла и отсюда все тараканы...
PS
Люди будьте внимательны - не наступайте на такие же грабли. Я за сутки дебаггинга с этой проблемой чуть дураком не стал - шутка ли: пути правильные, файлы на месте, а ничё не работает!!!
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
![wacko.gif](http://phpforum.ru/html/emoticons/wacko.gif)
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
![wacko.gif](http://phpforum.ru/html/emoticons/wacko.gif)
Спустя 14 минут, 27 секунд (21.04.2010 - 12:23) moskitos80 написал(а):
Цитата (Ka4_0k @ 21.04.2010 - 04:50) |
Посмотри что в $_SERVER['DOCUMENT_ROOT'] и подключай файлы относительно его (т.е. относительно корня). И ещё лучше создать список разрешённых файлов, а то можно подключить любой файл ![]() http://site.ru/index.php?do=../../../../../etc/passwd ? =) |
А это у меня ограничивает open_base_dir - она не пустит выше корня сайта.
_____________
Сложное - просто. Простое сложно.