HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проверка на тип загружаемого файла.
  #1  
Старый 04.02.2007, 16:00
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию Проверка на тип загружаемого файла.

Решил добавить на свой сайт форму для того что бы пользователи могли загружать свои обои. Потом они естественно будут проходить модерацию, но не это важно. Меня интересуют способы запрета заливки левых файлов типа .php .phtml и т.п. Сейчас вот у меня есть такой код:
PHP код:
if (substr($_FILES['filename']['type'],0,5) == 'image')
    {        
move_uploaded_file($_FILES['filename']['tmp_name'], "/img/wall".$name_image."");
    }
    else
    {        echo 
"Разрешена загрузка только изображений";
    } 
Короче мне нужно что бы была возможность загружать только картинки. Что думаете насчет этого кода? Безопасен ли он? Можно ли его использовать в таких целях?
Пока писал этот текст в голову пришла одна мысль, а что если загружать все картинки в один каталог, в котором будет эштеаццесс в котором будет прописано что бы все файлы в этом каталоге обрабатывались как картинки. Возможно ли так сделать? И опять же безопасность этого способа. И какие способы вы можете предложить? Интересны любые идеи по этой теме.
 
Ответить с цитированием

  #2  
Старый 04.02.2007, 16:19
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

На счет безопасности такого способа ничего скачать не могу, но когда я делал подобный скрипт, то проверял загружаемые файлы по расширению(последние 4 символа должны были быть .jpg).
 
Ответить с цитированием

  #3  
Старый 04.02.2007, 16:22
InferNo23
Участник форума
Регистрация: 05.09.2006
Сообщений: 187
Провел на форуме:
6860213

Репутация: 378
По умолчанию

я б через .хтаццесс сделал
в папку хтацесс с

AddType image/jpeg .php .php3 .phtml
 
Ответить с цитированием

  #4  
Старый 04.02.2007, 16:22
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

Я тоже так думал, но разницы не вижу особой. Хотя хз...
 
Ответить с цитированием

  #5  
Старый 04.02.2007, 16:26
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

2InferNo23 (((((((((((((((((((((((( ты же хакер!!!!((((((
2blaga ((((((((((((((((((((((((((((( ты же хакер!!!!(((((((
 
Ответить с цитированием

  #6  
Старый 04.02.2007, 16:28
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

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

Кстати, последняя предпочтительней - работает быстрее и не матерится а тихо возвращает false

Цитата:
array getimagesize ( string filename [, array imageinfo])


The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP or IFF image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag.

Returns an array with 4 elements. Index 0 contains the width of the image in pixels. Index 1 contains the height. Index 2 a flag indicating the type of the image. 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order, 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF. These values correspond to the IMAGETYPE constants that were added in PHP 4.3. Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.
Цитата:
int|false exif_imagetype ( string filename)


exif_imagetype() reads the first bytes of an image and checks its signature. When a correct signature is found a constant will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but this function is much faster.

The following constants are defined: 1 = IMAGETYPE_GIF, 2 = IMAGETYPE_JPG, 3 = IMAGETYPE_PNG, 4 = IMAGETYPE_SWF, 5 = IMAGETYPE_PSD, 6 = IMAGETYPE_BMP, 7 = IMAGETYPE_TIFF_II (intel byte order), 8 = IMAGETYPE_TIFF_MM (motorola byte order), 9 = IMAGETYPE_JPC, 10 = IMAGETYPE_JP2, 11 = IMAGETYPE_JPX, 12 = IMAGETYPE_SWC.
 
Ответить с цитированием

  #7  
Старый 04.02.2007, 16:30
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

2ZaCo, зато ты chinga-chguk.
 
Ответить с цитированием

  #8  
Старый 04.02.2007, 16:38
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

2Helios ты совсем дурачок? головка бобо?
2blaga а ты хакер.
 
Ответить с цитированием

  #9  
Старый 04.02.2007, 16:45
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

2ZaCo
А те только б пофлеймить?

Есть что-то конструктивное - пиши, а нету - не засоряй тему
 
Ответить с цитированием

  #10  
Старый 04.02.2007, 16:45
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

На мой взляд: полная фильтрация имени файла на его расширения. Да и .htaccess с
Код:
RemoveType .php .pl .php5 .php4 .php3 .phtml .cgi
самое то.
Можно и на кол-во расширений тоже проверять можно...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОВЕРКА почти всех уязвимостей и багов! _GaLs_ Избранное 16 28.09.2016 16:15
Встроенные функции и процедуры. mari00 С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 8 14.12.2006 16:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ