Верстка сайта с нуля

Верстка сайта с нуля

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC. В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой. В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru. Аналогично Вы сможете создать движок для абсолютно любого сайта. Данный курс идеально подходит тем, кто уже более-менее знает PHP, но ещё не умеет создавать действительно качественные и сложные по функционалу сайты.

Подробнее

Уроки и статьи

Новинка

Инструкция заработка на создании сайтов под заказ

javascript-cover

Получите бесплатную пошаговую инструкция с подробными видеокомментариями по тому, как с нуля за 3 месяца выйти на доход в 25 000 рублей/месяц, делая сайты на заказ


Для получение этого курса, пожалуйста, заполните форму снизу!

Имя:

e-mail:

Другие курсы

Яндекс-директ

Василий Кулик PHP - PHP основы

Безопасность при загрузке файлов на сервер в PHP


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


    Давайте вспомним, как мы загружали файлы на сервер в прошлом уроке.


<?php
    $name = $_FILES['name'];//Берём имя файла
    $uploaddir = "images/";//директория для загрузки файлов
    $uploadfile = $uploaddir.$name;
    move_uploaded_file($_FILES['tmp_name'], $uploadfile);//перемещаем файл с временной директории в нужную
?>


    Если мы, используя данный код, сделаем загрузку файлов на сервер, то можно загрузить практически любой тип файла. Например: php-файлы, js-файлы, опасные скрипты. Как Вы видите, это уж не очень и хорошо со стороны безопасности. И в этой статье я Вам раскрою хороший секрет, который поможет безопасно загружать файлы на сервер, проверяя их тип и размер.


     Давайте представим такую задачу: мы хотим загружать изображения форматов PNG, JPG, JPEG, GIF, который должен весить не больше одного мегабайта.


     После поставленной нами задачи, давайте, напишем скрипт, который будет работать в соответствии этим требованиям. Для этого, создадим функцию, которая будет выполнять нашу задачу и давать знать пользователю результат ее работы:


function uploadsFiles($files);
  $name = $files['name'];
  $type = $files['type'];
  $size = $files['size'];
  $blacklist = array(".html", ".php", ".php4", ".php5");
  foreach ($blacklist as $item) if(preg_match("/$item\$/i", $name)) return false;
  if (($type != "image/png") && ($type != "image/gif") && ($type != "image/jpg") && ($type != "image/jpeg")) return false;
  if ($size > 1048576) return false;
  $uploadedFiles = "images/".$name;
  if (move_uploaded_file($files['tmp_name'], $uploadedFiles)) return true;
  else return false;
}
$result_uplsds = uploadsFiles($files);
if ($result_uplsds) echo "Файл успешно загружен!";
else echo "Ошибка при загрузки файла!";


     Теперь подробнее о том, что я написал. Первым делом надо обработать форму загрузки файла(об этом в предыдущей статье), затем, вызвать функцию загрузки. В теле функции мы выполняем проверку загружаемого файла на разширение. Если файл является php-Скриптом - мы такой файл должны отбросить, даже не задумываясь, иначе нужно вернуть "false". Вторым шагом получаем "MIME-type" и размер файла. Выполняем проверку их на удовлетворение с нашей задачей. Если тип файла не равно хоты-бы одному разрешенному разшерению, файл не принимается. То же самое из размером файла. Идет проверка, чтобы он не превышал допустимые нормы. Если все проверки будут пройдены - файл будет заружен на сервер и выведено сообщение об успешной работе функции. Разумеется, Вы сами можете спокойно менять условия под свои нужды.


    Скажу сразу, что данный код далеко не 100% обеспечит безопасность загружаемого файла (100% просто не существует), но, однако, взломать такой код злоумышленнику будет очень и очень не просто. Так что, можете его смело копировать и использовать для загружаемого файла, обеспечив хорошую безопасность при загрузке файлов на сервер через PHP


     Следующая наша тема - это работа с изображениями в php. Желаю уачи! До встречи!



Создано: 2014-09-07 10:17:27


Предыдущая статья

Вернуться на страницу со списками статей

Следующая статья




Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/wasiliykulik. Если Вы хотите дать оценку мне и моей работе, то напишите её на стене моего аккаунта.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления: Подписаться на обновления



Если у Вас остались вопросы по етой статьи, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу етой страницы.



Порекомендуйте эту статью друзьям:


Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

1. Текстовая ссылка:

Она выглядит вот так: Как создать свой сайт



Для добавление коментариев Войдите в систему
Если Вы ещё не зарегистрированы то сначала зарегистрируйтесь

Комментарии:(0)