2016-06-27 2 views
0

Я попытался оглянуться на некоторые трюки о том, как я могу сделать это безопасно, не выполняя код. Выполняется ли код, если я просто загружаю его в файловую систему, а затем оставьте его до тех пор, пока кто-нибудь не загрузит его? Или это потенциальная угроза?Как безопасно загружать и загружать PDF-файлы, хранящиеся в файловой системе, используя PHP

Я пытаюсь сделать так, чтобы пользователи могли загружать свое резюме в pdf-файлы. Затем администратор может загрузить этот pdf-файл (не просматриваемый на сервере, а загруженный).

Как это сделать, чтобы предотвратить запуск вредоносных файлов на моем сервере? Кроме того, было бы рискованно размещать эту папку OUTSIDE в папке public_html?

ответ

0

Это зависит от того, как установлен ваш сервер. Если он позволяет использовать файлы PDF в качестве исполняемого файла или открываться с помощью конкретного сценария приложения/обработки, который может использоваться для вредоносных действий. В противном случае вы должны следовать простым инструкциям, таким как ограничение длины имени файла и избегать выполнения операции чтения этого файла. Насколько я понимаю, вам нужно только загрузить и защитить их. Я бы сохранил их в public_html и после правильной загрузки (вы проверили файл, расширение и т. Д.) Перемещали их, когда захотите.

0

Существует не так много риска для загрузки .pdf в папку. папка должна быть в 644 (chmod). и есть index.php с переадресацией на индекс сайта Inside или OutSite в «public_html» .. это не проблема

при загрузке, вы можете проверить расширение (.pdf) и тип пантомимы:

с finfo_file (http://php.net/manual/en/function.finfo-file.php) и с $extension = substr($file, -3);

+0

ли это важно, что доступ к папке, как если файлы просто быть загружены и загружены без PHP скрипта, выполняющих их? Или возможно, что они могут выполнять сами по себе? – PhyCoMath

+0

Если файл (ы) не имеют разрешений выполнения, и если никто его не называет .. они не могут выполнить сам ... – Amazone

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