Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как ограничить доступ к файлам
Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012
Помог: 3 раз(а)
У меня проблема. Если в адресной строке набрать точный путь к файлу, например, mySite/someFolder/phpFile.php
то откроется это файл. Почему-то я думал, что все работает через индекс.php, если правильно прописать .htaccess.
Вот что прописано у меня:
Подскажите пожалуйста, что надо прописать, чтобы при обращении к конкретному файлу, все равно бы открывался index.php
Всем спасибо заранее за ответы!
EuGen
Отправлено: 01 Августа, 2012 - 08:54:23
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
ПТО пишет:
RewriteCond %{REQUEST_FILENAME} !-f
Уберите эту строку.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
ПТО
Отправлено: 01 Августа, 2012 - 08:58:03
Посетитель
Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012
Помог: 3 раз(а)
Сайт перестал работать вообще. Выводит только начальное содержимое
Без стилей, без ничего
EuGen
Отправлено: 01 Августа, 2012 - 09:02:04
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
ПТО
Разумеется перестал. Ведь теперь все стили при их запросе (а он происходит каждый раз, когда в документе встречается ссылка на стиль) или картинки - или любые другие файлы - все порождают вызов сервером index.php вместо того, чтобы отдавать их как есть. Так что Вам нужно определиться.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
ПТО
Отправлено: 01 Августа, 2012 - 09:06:57
Посетитель
Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012
Помог: 3 раз(а)
Файлы *.php отдаются пустые, ведь? Т.к. код в них переваривается сервером, не так ли? я что боюсь-то, нельзя ли как нибудь скомуниздить .php файлы и находящиеся в них скрипты??
EuGen
Отправлено: 01 Августа, 2012 - 09:18:25
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
ПТО
Нет, исходный текст увидеть при обращении нельзя. Для того и нужен собственно веб-сервер, чтобы отдавать интерпретированные результаты. Если у кого-либо получилось забрать исходный текст Вашего скрипта - то уже никакой .htaccess не поможет.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DelphinPRO
Отправлено: 01 Августа, 2012 - 12:34:46
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Т.е. смотрим, есть ли в УРЛ хотя бы что-нибудь с *.php - если есть - тогда выкидываем в корень сайта))
Что скажете, насчет еще каких-нибудь вариантов? Вообще, получается я могу добраться до любого файла на любом сайте?
В целом я эту проблему поднял, так как меня беспокоит, что при открытии одиночных файлов всплывает (при просмотре исходного кода страницы) undefined index ... in (папка с файлами, строка такая-то). Влияет ли это на безопасность?
Hawkmoth
Отправлено: 01 Августа, 2012 - 15:31:54
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Янв. 2012
Помог: 6 раз(а)
ПТО пишет:
при открытии одиночных файлов всплывает (при просмотре исходного кода страницы) undefined index ... in (папка с файлами, строка такая-то). Влияет ли это на безопасность?
Любое сообщение об ошибке, видимое пользователю, будь то даже нотайс - потенциальная дыра в безопасности, не говоря уже об эстетических вещах.
Всегда пользовался способом, озвученным DelphinPRO - предопределенной константой. Замечание Юджина заставило задуматься, но в моих скромных масштабов проектах этого вполне хватает.
ПТО
Отправлено: 01 Августа, 2012 - 15:40:21
Посетитель
Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012
Помог: 3 раз(а)
EuGen пишет:
Тогда уж можно специально Rewrite-исключение делать
Поясни, пожалуйста
DelphinPRO
Отправлено: 01 Августа, 2012 - 16:11:46
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
EuGen пишет:
Плохо, если в системе счет идет хотя бы на сотни файлов
Почему?
в Joomla около 5000 файлов, и используется такой способ. Во многих других CMS то же самое.
----- Чем больше узнаю, тем больше я не знаю.
EuGen
Отправлено: 01 Августа, 2012 - 16:17:43
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Потому что если изначально в архитектуре это не было предусмотрено, то переделывать несколько сот файлов будет проблематично. Да и потом, в каждом новом файле это нужно обязательно указывать.
Гораздо проще и корректнее попросту не располагать файлы, к которым нужно запретить прямой доступ, в каталоге, доступном для веб-сервера.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DelphinPRO
Отправлено: 01 Августа, 2012 - 16:23:04
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
EuGen, ну это не аргумент против такого способа
в конце концов можно за пару минут написать скриптик, который пробежится по файлам и сам все добавит )
с тем, что следует располагать файлы выше документ_рут - согласен. Лучшее решение.
----- Чем больше узнаю, тем больше я не знаю.
ПТО
Отправлено: 01 Августа, 2012 - 16:26:23
Посетитель
Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012
Помог: 3 раз(а)
DelphinPRO пишет:
с тем, что следует располагать файлы выше документ_рут - согласен. Лучшее решение.
Это как это??? Взять все файлы и перебросить их куда-то?? Работать будет?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.