Дипломные работы, курсовые проекты на заказ, контрольные работы на заказ

 
Начертательная геометрия Практикум по решению задач Геометрическое черчение Инженерная графика ЕСКД Кратные интегралы Математический анализ Матрицы Пределы Производные Векторная алгебра Интегральное исчисление ТФКП Ядерная физика Электростатика Магнетизм Оптика Информационные технологии
Учебник РНР
НазадВперёд

is_uploaded_file

(PHP 3>= 3.0.17, PHP 4 >= 4.0.3)

is_uploaded_file - сообщает, был ли файл загружен через HTTP POST.

Описание

bool is_uploaded_file (string filename)

Возвращает TRUE, если файл filename был загружен через HTTP POST. Это помогает убедиться, что злонамеренный пользователь не пытался заставить скрипт работать с файлами, с которыми он работать не должен, например, /etc/passwd.

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

is_uploaded_file() доступна только в версиях PHP 3 после PHP 3.0.16 и в версиях PHP 4 после 4.0.2. Если вы продолжаете использовать ранние версии, вы можете использовать следующую функцию, которая поможет вам защититься:

Примечание: следующий пример не будет работать в версиях PHP 4 после 4.0.2. Это зависит от внутренней функциональности PHP, которая была изменена после указанной версии.

<?php 
/* Проверка загруженного файла. */ function is_uploaded_file($filename) { if (!$tmp_file 
= get_cfg_var('upload_tmp_dir')) { $tmp_file = dirname(tempnam('', '')); } $tmp_file 
.= '/' . basename($filename); /* User might have trailing slash in php.ini... 
*/ return (ereg_replace('/+', '/', $tmp_file) == $filename); } /* Вот как использовать 
её, поскольку вы также не имеете * move_uploaded_file() в этих старых версиях: 
*/ if (is_uploaded_file($HTTP_POST_FILES['userfile'])) { copy($HTTP_POST_FILES['userfile'], 
"/place/to/put/uploaded/file"); } else { echo "Possible file upload attack: filename 
'$HTTP_POST_FILES[userfile]'."; } ?>

См. также в move_uploaded_file() и в разделе Обработка загрузки файлов пример простого использования.


НазадОглавление Вперёд
is_readable Вверхis_writable