«Плохие» расширения файлов, которых следует избегать на сайте загрузки файлов? - PullRequest
6 голосов
/ 29 августа 2010

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

Я использую nginx и linux.Сайт построен на php.Я бы отключил загрузку файлов .php .... но кроме этого .... есть ли что-то еще, что я должен остерегаться?

Ответы [ 3 ]

7 голосов
/ 02 августа 2011

Вот список расширений, которые мы склонны блокировать в нашей системе загрузки файлов php.

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

Список расширений: bat exe cmd sh php pl cgi 386 dll comorrent js app jar pif vb vbscript wsf asp cer csr jspdrv sys ade adp bas chm cpl crt csh fxp hlp hta inf ins isp jse htaccess htpasswd ksh lnk mdb mde mdt mdw msc msi msp mst ops pcd prg reg scr shb shs url vbe vbs wsc wsc wsh

*такое регулярное выражение в Javascript:
/(\.|\/)(bat|exe|cmd|sh|php([0-9])?|pl|cgi|386|dll|com|torrent|js|app|jar|pif|vb|vbscript|wsf|asp|cer|csr|jsp|drv|sys|ade|adp|bas|chm|cpl|crt|csh|fxp|hlp|hta|inf|ins|isp|jse|htaccess|htpasswd|ksh|lnk|mdb|mde|mdt|mdw|msc|msi|msp|mst|ops|pcd|prg|reg|scr|sct|shb|shs|url|vbe|vbs|wsc|wsf|wsh)$/i
6 голосов
/ 29 августа 2010

Более чистым способом решения этой проблемы будет настройка подузла (что-то вроде files.somewhere.com) или каталога и отключение выполнения через .htacess (пользователи смогут загружать phpсценария, но сервер отправит его вместо выполнения).

2 голосов
/ 29 августа 2010

Лучшим способом здесь является комбинация:

  1. Отключить выполнение в каталоге загрузки.
  2. Переименуйте все файлы, которые вы подозреваете: PHP, SH, BIN и т. Д., Или сохраните все файлы, сжатые в файлы ZIP / TAR.
  3. Используйте антивирус (Dr.Web, ClamAV и т. Д.) На сервере и регулярно проверяйте файлы.
...