RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 238
от 27.01.2006, 07:15

Администратор:Калашников О.А.
В рассылке:Подписчиков: 220, Экспертов: 37
В номере:Вопросов: 2, Ответов: 3


Вопрос № 33746: Вот задумался над безопасностью и эффективностью, в приложении 2 функции, одна проверяет имя файла, которое потом паредается второй. Вопросы все ли символы я фильтрую? можно ли оптимизировать проверку, я может что то мудрю? по второй ...
Вопрос № 33787: Здравствуйте. ... есть каталог(папка в папке), если и файлы - как отобразить в каком каталоге пользователь находится, т.е. получаться по типу меню. (должен быть один-два файл-скрипт, что-бы кинул в папку, изменил название категории и забыл.....

Вопрос № 33.746
Вот задумался над безопасностью и эффективностью, в приложении 2 функции, одна проверяет имя файла, которое потом паредается второй.
Вопросы
все ли символы я фильтрую?
можно ли оптимизировать проверку, я может что то мудрю?
по второй функции в принципе тоже...

Приложение:

Отправлен: 21.01.2006, 14:47
Вопрос задал: Alexkht (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Дмитрий Иванов
Здравствуйте, Alexkht!

На самом деле удаляешь бэкслеши и слеши и затем is_file на результат
$file=preg_replace("/\|//","",$file);
if(is_file($file)){print "все чудесно";}

---------
ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 21.01.2006, 16:03

Отвечает: XMF
Здравствуйте, Alexkht!
--
Достаточно сделать так:
---
function truefile($str)
{
$str=str_replace(":", "", $str);
$str=str_replace("/", "", $str);
$str=str_replace("%", "", $str);

if($str=='')return false;
if(!file_exists($str)) return true;
return false;
}

main.php
-----------
<?
if(!isset($page)) $page='index.php';
if(truefile($page)) include(truefile($page));
else
exit("fcuk yourself ;)");

Ответ отправил: XMF (статус: 3-ий класс)
Отправлен: 21.01.2006, 16:32


Вопрос № 33.787
Здравствуйте.
... есть каталог(папка в папке), если и файлы - как отобразить в каком каталоге пользователь находится, т.е. получаться по типу меню.
(должен быть один-два файл-скрипт, что-бы кинул в папку, изменил название категории и забыл..)

делаю так(вариантв несколько), но с глубиной не получается:
1.-уровень(file- p.php)
<?php
$p=('..');
include ($p.'/p.php');
//$p0=fopen($p.'/p.php','r');
//require_once ($p.'/p.php');
//$p0=$a1;
//$path=($p.'/index.php');
//my katalog
$a0='каталог 1 / ';
$a1=$a0;
$myputfile=dirname('index.php');
$input=$myputfile;
?>
<?php
$putfile=basename($path);
//$putfile=dirname($p.'/index.php');
echo ('<a href="'),$putfile,('"></a><a href="'),$input,('">'),$a1,('</a>');
//echo $z1;
//echo ('<a href="'),$myputfile,('">'),$a1,('</a>');
//echo $p0;
//echo $path;
//,"<br>"
//'),$a0,('

?>
/******************************/

2.-уровень(file- p.php)

<?php
$p=('..');
//include ($p.'/p.php');

$myputfile=dirname('index.php');
//$input=$myputfile;
?><?php
$plot=file ($p.'/data.inc');
//print_r($plot);
//echo $plot[0];
/*while (list ($line_num, $line)=each($plot))
{
echo ('<b>Line'),$line_num,(': </b>'),htmlspecialchars($line),('<br> ');
}*/
?>
<?php
///$putfile=basename($path);
$putfile=dirname($p.'/index.php');
echo ('<a href="'),$putfile,('">'),$plot[1],('</a><a href="'),$myputfile,('">'),$plot[2],('</a><br>');
//echo $z1;
//echo ('<a href="'),$myputfile,('">'),$a1,('</a>');
//echo $p0;
//echo $path;
//'),$a0,('
?>

-------------*-
(file- data.inc)
-------------
Главная /
Каталог 1 /
Каталог 1-1 /
Каталог 2 /
Каталог 2-1 /

-------------*-
для программеров - вопрос лёгкий.

Спасибо,
с уважением Андрей

Приложение:

Отправлен: 22.01.2006, 04:28
Вопрос задал: Bip (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Zysoftik
Здравствуйте, Bip!

Как я понял, нужно узнать в какой папке находится вызываемый скрипт.

Можно воспользоваться глобальной переменной $PHP_SELF.

Она хранит относительный путь и имя самого скрипта в котором существует.

Т.е.
$a=$PHP_SELF;

даст в $a нечто типа

/mysite/mydir1/mydir2/myphp.php
Ответ отправил: Zysoftik (статус: 2-ой класс)
Отправлен: 23.01.2006, 10:06
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное