[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Закрыть доступ к файлам в папке
Vladimir Kozlov
Подскажите пожалуста как нужно действовать в такой ситуации. Есть папка uploads, в ней 10 файлов для скачки. Если в браузере в строке адресса я ввожу localhost/.../uploads мне открывается страница на которой показывается все те файлы, которые внутри этой папки. Как сделать так, что бы никто не мог видеть все файлы и как сделать так, чтоб если туда вдруг закинут вирус, скрипт или еще что-то, что бы оно не в коем случае не выполнялось.
Спасибо за ответы!



Спустя 30 минут, 25 секунд (1.09.2010 - 16:37) Nikitian написал(а):
htaccess:
Options -Indexes

Это был запрет просмотра файлов в директории.

Про вирус: смотрите какими путями туда может попасть вирус и исключайте эти возможности. На вариант со взломом хостера можете забить - это маловероятно по сравнению с остальными вариантами (ваши скрипты, простой пароль на ftp...).

Спустя 7 минут, 29 секунд (1.09.2010 - 16:45) Vladimir Kozlov написал(а):
В папку uploads изначально каждый может загрузить свой фаил... И если например загрузят чепуху... как это проверить, или в .htacces это можно где-то прописать? или может каждый фаил сразу архивировать (вот только как?)?

Спустя 20 минут, 10 секунд (1.09.2010 - 17:05) Nikitian написал(а):
Загружают изначально туда через скрипты? ну так и делайте необходимые проверки что там загружают. Можно ещё на cron повесить скрипт проверки, но это костыль.

Спустя 2 часа, 59 минут, 58 секунд (1.09.2010 - 20:05) VelsoN написал(а):
Должна помочь правильная расстановка chmod'ов.

Спустя 10 часов, 48 минут (2.09.2010 - 06:53) Белый Тигр написал(а):
Если вы боитесь html(js)-вирусов, то можете поступить просто. Для начала берёте и наглухо закрываете папку uploads, помещая туда .htaccess со следующим содержимым
Цитата
order allow, deny
deny from all

Эта конструкция запретит любой доступ из вне к содержимому этой папки. Далее пишите скрипт, который управлял бы скачкой/загрузкой файлов. То есть обратился пользователь по определённой ссылке - скачал строго определённый файл. Таким образом вы не позволяете посетителям напрямую работать с их файлами, а встраиваете между ними и сервером посредника. В случае, если кто-то загрузит на сервер html или php-файл, он не сможет напрямую к нему обращатья - только скачать этот файл обратно.

Спустя 8 минут, 15 секунд (2.09.2010 - 07:01) twin написал(а):
Цитата
В случае, если кто-то загрузит на сервер html или php-файл, он не сможет напрямую к нему обращатья - только скачать этот файл обратно.
эт еще почему?

Спустя 5 часов, 38 минут, 29 секунд (2.09.2010 - 12:40) Белый Тигр написал(а):
Цитата
эт еще почему?

Ну смотрите. Есть у нас папка uploads, куда всё складывается. Она закрыта через .htaccess (deny from all). Файлы и туда и обратно попадают только через отдельный скрипт. Как к этим файлам обратиться?

Спустя 28 минут, 41 секунда (2.09.2010 - 13:08) twin написал(а):
Еще раз.
Цитата
В случае, если кто-то загрузит на сервер html или php-файл, он не сможет напрямую к нему обращатья - только скачать этот файл обратно.

если кто то смог загрузить на сервер php скрипт, никакие (deny from all) не спасут. Он сам запустится при обращении "отдельного" скрипта.

Спустя 5 часов, 16 минут, 37 секунд (2.09.2010 - 18:25) Белый Тигр написал(а):
Цитата
если кто то смог загрузить на сервер php скрипт, никакие (deny from all) не спасут. Он сам запустится при обращении "отдельного" скрипта.

Это как? Почему например на рапидшаре не запускаются? Там разрешено загружать и php- и html-файлы.
Видимо вы меня как-то неверно поняли. Положите куда-нибудь в веб-папку с deny from all скрипт test.php и скачайте вот так
header('Content-Disposition: attachment; filename="test.php"');
print file_get_contents("/......../uploads/test.php"); // на практике конечно fopen/fread

Ничего не запустится, всё будет хорошо.

Спустя 15 часов, 48 минут, 21 секунда (3.09.2010 - 10:13) Nikitian написал(а):
Более того, он на запустится даже при таком коде:

echo file_get_contents("/......../uploads/test.php");


Спустя 3 минуты, 9 секунд (3.09.2010 - 10:16) Белый Тигр написал(а):
Цитата (Nikitian @ 3.09.2010 - 07:13)
Более того, он на запустится даже при таком коде:

echo file_get_contents("/......../uploads/test.php");

Но нам ведь надо его скачать. Затем там и header smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.