2010-08-28 2 views
5

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

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

+0

Вы хотите возможность размещения каждого типа файла, но затем запретить загрузку файлов .php? Вы действительно хотите предотвратить выполнение файлов .php? –

+0

Ну, в основном. Я не хочу, чтобы на сервере был запущен какой-либо вредоносный код. – 2010-08-28 23:05:14

+3

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

ответ

5

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

+0

Можно ли это сделать в nginx? – 2010-08-28 23:33:06

1

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

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

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

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

Расширения список: летучей ехе CMD ш PHP пл CGI длл ком торрент JS приложения баночки PIF В.Б VBScript WSF жереха CER ксо jsp drv SYS ADE в.с.ц. барельефа CHM компл элт CSH FXP HLP HTA инф модули исп ЙФБ Htaccess Htpasswd КШ LNK MDB MDE MDT ОМП ЦКМ MSI msp mst ОПС PCD PRG рег экр SCT SHB SHS URL VBE VBS WSC WSF 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 
+0

Добавьте php3, php4 и php5 тоже. –

+0

@JoshuaOtt его редкие люди используют эти расширения, однако вы правы. Я обновлю – Neo

Смежные вопросы