[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ссылки на сервере
moskitos80
Привет всем. Подскажите пожалуйста. У меня на сервере есть файлы допустим файл test2.php и agreement.php - лежат на сайте относительно друг друга таким образом:

/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 Кто нибудь знает в чём может быть проблема? Я подозреваю, что что то не так с формируемым путем:

include('authorization/actions/'.$_REQUEST['do'].'.php ');




Спустя 7 минут, 53 секунды (21.04.2010 - 07:50) Ka4_0k написал(а):
Посмотри что в $_SERVER['DOCUMENT_ROOT'] и подключай файлы относительно его (т.е. относительно корня). И ещё лучше создать список разрешённых файлов, а то можно подключить любой файл smile.gif Если я в url например укажу
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

хотя адрес такой:

http://some.сайт.ru 


блин - подскажите, как в таком случае динамические ссылки прописывать???

Спустя 3 часа, 5 минут, 36 секунд (21.04.2010 - 12:09) moskitos80 написал(а):
Всё разобрался сам! В предыдущем посте сверху у меня не срабатывал роутер - конструкция вида:

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 wacko.gif laugh.gif wacko.gif

Спустя 14 минут, 27 секунд (21.04.2010 - 12:23) moskitos80 написал(а):
Цитата (Ka4_0k @ 21.04.2010 - 04:50)
Посмотри что в $_SERVER['DOCUMENT_ROOT'] и подключай файлы относительно его (т.е. относительно корня). И ещё лучше создать список разрешённых файлов, а то можно подключить любой файл smile.gif Если я в url например укажу
http://site.ru/index.php?do=../../../../../etc/passwd ? =)

А это у меня ограничивает open_base_dir - она не пустит выше корня сайта.


_____________
Сложное - просто. Простое сложно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.