Новые книги

Подход, предложенный Люком Вроблевски, произвел настоящую революцию в области веб-дизайна. Его суть проста: чтобы сайт наиболее полно удовлетворял потребности пользователей любых устройств, сначала следует проектировать его мобильную версию.

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

Следуя его рекомендациям, вы сможете создать максимально удобный дизайн, который обеспечит высокую посещаемость вашего сайта в самое ближайшее время.

Издано с разрешения A Book Apart LLC На русском языке публикуется впервые.

Все права защищены.

Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
This book was written to provide a single reference for network administration in a Linux environment. Beginners and experienced users alike should find the information they need to cover nearly all important administration activities required to manage a Linux network configuration. The possible range of topics to cover is nearly limitless, so of course it has been impossible to include everything there is to say on all subjects. We've tried to cover the most important and common ones. We've found that beginners to Linux networking, even those with no prior exposure to Unix-like operating systems, have found this book good enough to help them successfully get their Linux network configurations up and running and get them ready to learn more.

There are many books and other sources of information from which you can learn any of the topics covered in this book (with the possible exception of some of the truly Linux-specific features, such as the new Linux firewall interface, which is not well documented elsewhere) in greater depth. We've provided a bibliography for you to use when you are ready to explore more.

is_uploaded_file



Учебник РНР
НазадВперёд

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