[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Index.php
eLDeR
У меня есть код основной страницы
HTML
<? require("func.php"); ?>
<? text(); ?>
<a href=index.php?page=news>NEWS</a>
<a href=index.php?page=photo>PHOTO</a>

и движок

PHP
function text()
{
if(
$_REQUEST['page']=="news"){include("text/news.txt");}
elseif(
$_REQUEST['page']=="photo"){include("text/photo.txt");}
else{include(
"text/index.txt");}
}

Также папка text где лежат index.txt news.txt и photo.txt
Все рабтает!

Подскажите пожалуйста как дать имя не конкретного файла а переменной допустим
PHP
function text()
{
if(
$_REQUEST['page']=="$page"){include("text/$page.txt");}
else{include(
"text/index.txt");}
}


ксажилению так не работает



Спустя 8 минут, 27 секунд (8.09.2009 - 15:02) Crэker написал(а):
а если так?
PHP
function text()
{
if(
$_REQUEST['page']=="$page"){include('text/'.$page.'.txt');}
else{include(
"text/index.txt");}
}

Спустя 9 минут, 31 секунда (8.09.2009 - 15:12) sergeiss написал(а):
Проблема в том, что ты используешь переменную $page, но она у тебя не определена! Точнее, она может быть определена, если register_globls=on. А скорее всего, эта фича выключена.

PS. Либо я вообще не понял, что ты хочешь сделать....

Спустя 13 минут, 20 секунд (8.09.2009 - 15:25) eLDeR написал(а):
Цитата (Crэker @ 8.09.2009 - 12:02)
а если так?
PHP
function text()
{
if(
$_REQUEST['page']=="$page"){include('text/'.$page.'.txt');}
else{include(
"text/index.txt");}
}

Не работает

я хочу чтобы по ссылке (взависимости от имени) прикреплялись файлы, с темже названием что указывается в сыылке

Спустя 1 час, 4 минуты, 28 секунд (8.09.2009 - 16:29) sergeiss написал(а):
Вот так, может?
PHP
if( isset( $_REQUEST['page']) ) // если есть такой параметр
{
  
$fname='text/'.$_REQUEST['page'].'.txt';
  
// сначала проверяем, есть ли такой файл
  
...
  
// если есть, то инклудим его
  
include( $fname );
}


Спустя 30 минут, 23 секунды (8.09.2009 - 17:00) eLDeR написал(а):
Спасибо! Работает!

Спустя 11 минут, 39 секунд (8.09.2009 - 17:12) twin написал(а):
Низя бы так по хорошему... PHP-иньекция может случиться.

Спустя 28 минут, 59 секунд (8.09.2009 - 17:40) Gradus написал(а):
twin
file_exists - он же вроде не работает если файл удалённый, я больше способов незнаю как тут иньексировать smile.gif

Спустя 2 часа, 59 минут, 18 секунд (8.09.2009 - 20:40) sergeiss написал(а):
Цитата (twin @ 8.09.2009 - 18:12)
Низя бы так по хорошему... PHP-иньекция может случиться.

Поспорим и в этой теме или не будем? wink.gif

Я же написал:
Цитата (sergeiss @ 8.09.2009 - 17:29)
$fname='text/'.$_REQUEST['page'].'.txt';
// сначала проверяем, есть ли такой файл

То есть, формируем имя файла, но перед открытием проверяем его наличие. Никто не запрещает наложить еще какие-то проверки плюс к простому наличию файла.

Спустя 29 минут, 42 секунды (8.09.2009 - 21:09) glock18 написал(а):
Самая главная проверка - чтобы не было переходов между папками в этой строке. Заинклюдить можно любой существующий файл, и file_exists вовсе не является необходимым "фильтром"

Спустя 13 минут, 41 секунда (8.09.2009 - 21:23) eLDeR написал(а):
как не странно но без него не работало! (без проверки)

Спустя 6 минут, 8 секунд (8.09.2009 - 21:29) Sylex написал(а):
Цитата (glock18 @ 9.09.2009 - 00:09)
и file_exists вовсе не является необходимым "фильтром"


+10, естественно smile.gif

Спустя 1 час, 42 минуты, 5 секунд (8.09.2009 - 23:11) twin написал(а):
Цитата
Поспорим и в этой теме или не будем?

А тут то ты куда прешь laugh.gif
PHP-инъекция, это не обязательно подключение стороннего файла. Можно допустим просканировать все директории и узнать структуру приложения. Тоже немаловажная информация.
Быстрый ответ:

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