[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от прямого доступа
paul85
Приветствую всех!

Частенько встречаю во фреймворках строчку типа:
<?php defined('SYSPATH') or die('No direct script access.');

Данный пример взят конкретно из Kohana. Но тоже самое есть и в джумле, например. Думаю, что и в других тоже...

Вопрос заключается вот в чем: для чего, собственно, она нужна? Где тут затаилась потенциальная угроза? Ведь обычно во фремворках используются классы и прямым доступом к файлу ничего итак не добьешься. Кто будет создавать экземпляр? По идее, юзер должен получить в браузере пустое окошко от прямого обращения...
twin
Можно закинуть шелл и подключить файл. Не обязательно по http ломать. Если не знаешь имя константы, фигвам получится.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
killer8080
Цитата (paul85 @ 25.03.2013 - 02:09)
для чего, собственно, она нужна?

перестраховка smile.gif
I++
Это актуально если в хранимых файлах не классы а сразу запускается скрипт с какими либо действиями, но, это говнокод который был когдато в цмс, сейчас в мире строгого mvc это рудемент, от которого толку 0, даже прописав прямой путь до контроллера он не запустится, так как небыл проинициализирован точкой входа с автолоадом.
killer8080
Ещё можно использовать для определения какой фреймворк или цмс установлен по характерным файлам, и ответным сообщениям biggrin.gif
Правда обычно доступ к системным директориям перекрывают еще и через .htaccess
paul85
Спасибо, буду знать! =)

Кстати, по поводу .htaccess.
У меня прописаны следующие правила:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php [L]


Где-то встречал, что вообще все загоняется на index, кроме файлов с расширениями js, css, jpg, gif ну и т.д. Стоит ли переделать, или итак достаточно безопасно?

killer8080
Цитата (paul85 @ 27.03.2013 - 20:45)
Где-то встречал, что вообще все загоняется на index, кроме файлов с расширениями js, css, jpg, gif ну и т.д. Стоит ли переделать, или итак достаточно безопасно?

не нужно, эти правила перенаправляют на index.php только запросы к не существующим файлам и папкам. Статика будет отдаваться нормально. Более того, если на хостинге связка nginx+apache то такие запросы до апача в принципе не дойдут, если конечно эти файлы существуют.
bestxp
да сейчас подобный файлы выносят выше уровнем доступа web сервера

то есть например

system
core
app
www <- сюда смотрит web-сервер
app.php

а в www уже index.php и стили с картинками, то есть вообще смысла нет
Быстрый ответ:

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