Intereting Posts
Управление разрешениями пользователей с помощью иерархии Ведение журнала swiftmailer send () в symfony2 Symfony 2: автогенерируемые навигационные меню как получить контент с внешней веб-страницы по php? Магический метод php для catch array_push Ошибка URL-адреса Jquery Ajax Что я могу использовать вместо eval ()? Почему отрицание происходит последним в выражении присваивания в PHP? PHP получатель формы отправки электронной почты не получает правильный адрес электронной почты sendr Ошибка PHP-памяти при изменении размера PNG-изображения Как перебрать и получить доступ к различным элементам в массиве, который является многомерным и ассоциативным? PHP, либо JSON, либо XML Использование регулярного выражения для фильтрации атрибутов в xpath с php Существуют ли какие-либо существенные причины для использования isset () над @ в php Сервер Nginx (не отображаются изменения) – Удалить кеш? Доступ к сеансу между доменом / субдоменом. Локальная установка xampp

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

Я задал этот вопрос дважды, я думаю, но это первый раз, когда я приблизился к этому вопросу. Я планирую разрешить пользователям загружать и загружать их файлы (.pdf, .doc, .exl, .ppt, .png, .jpg, .gif).

Будут ли эти советы достаточными:

http://blogs.sans.org/appsecstreetfighter/2009/12/28/8-basic-rules-to-implement-secure-file-uploads/

Кроме того, есть ли сценарий, который я могу использовать, я новичок в php.

Solutions Collecting From Web of "Безопасный скрипт загрузки файлов PHP"

поздний ответ, но я думаю, что ваш сценарий должен основываться на этом: http://blog.insicdesigns.com/2009/01/secure-file-upload-in-php-web-applications/

он охватывает все аспекты безопасности и объясняет все действительные точки. Надеюсь, это поможет.

EDIT: вышеупомянутая ссылка мертва, вот кешированная версия этой статьи .

Для будущих читателей, которые также новы к php:

Прежде чем читать руководство, упомянутое в ответе Рики на https://stackoverflow.com/a/7065880/1815624 , в котором упоминается хорошее руководство и вызывающе рекомендуемое чтение, я бы посоветовал сначала прочитать этот ответ:

https://security.stackexchange.com/a/32853/31943

затем прочитайте руководство, упомянутое Рики:

http://blog.insicdesigns.com/2009/01/secure-file-upload-in-php-web-applications/

В конце концов, если вам нужна дополнительная безопасность, вам следует отключиться от Интернета. :П

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

Хотя «защита» от загрузки файлов, отличных от png, не будет работать (она проверяет только имя файла).

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

  • никогда не обслуживайте предоставленные пользователем файлы из того же домена, что и ваша веб-страница . У вас есть отдельный домен для загрузки. Таким образом, даже если кому-то удастся загрузить флеш-анимацию или фрагмент HTML, ваш домен не пострадает от междоменной атаки (например, если ваше приложение имеет домен example.org, вы должны обслуживать пользовательский контент, скажем, через загрузки. example.com);
  • всегда обслуживают загруженные файлы с хорошо контролируемыми заголовками.