Форум → Программирование → PHP для идиотов → Запрет запуска файлов напрямую.
Запрет запуска файлов напрямую.
Страницы: ← Следующая страница →
-
Окт. 12, 2010, 2:14 п.п., спустя 11 минут 59 секунд
а чем плох запуск файлов напрямую?
ну запустят - и что дальше?все умрут, а я изумруд -
Окт. 12, 2010, 2:17 п.п., спустя 2 минуты 44 секунды
Допустим, есть index.php (можно обращаться) и config.php (нельзя).
index.php…
define('VERYSECRETPIECEOFSHIT',1);
…
config.php…
defined('VERYSECRETPIECEOFSHIT') or die ('shit happens :(');
… -
Окт. 12, 2010, 2:18 п.п., спустя 1 минуту 47 секунд
а чем плох запуск файлов напрямую?
ну запустят - и что дальше?if ($error)
{
include ("send_mail.php");exit;
}Спустя 56 сек.Через htaccess можно запретить все, что угодно, вопрос один - по какому критерию -
Окт. 12, 2010, 2:21 п.п., спустя 2 минуты 31 секунду
и что это?а чем плох запуск файлов напрямую?
ну запустят - и что дальше?if ($error)
{
include ("send_mail.php");exit;
}Спустя 56 сек.Через htaccess можно запретить все, что угодно, вопрос один - по какому критерию
тут смотря какая структура сайта…
допустим у меня все запросы централизованно разруливаются роутером и ниче напрямую не запустишь
да даже если и запустишь, какой толк от запущенного файла с классом?все умрут, а я изумруд -
Окт. 12, 2010, 2:22 п.п., спустя 1 минуту 24 секунды
допустим у меня все запросы централизованно разруливаются роутером и ниче напрямую не запустишь
+1, самый лучший вариант -
Окт. 12, 2010, 2:28 п.п., спустя 5 минут 59 секунд
md5, Ну допустим у меня есть файл который выполняет удаление какого то элкмента. Этот файл подгружается роутером.
пример
<?
$newClass=new Class($db);
$id=(int)$_POST["objectID"];
$newClass->deleteObject($id);
header("Location: /admin/delete-object");
die();
Запуская этот файл напрямую и передавая соответствующий параметр, можно удалить мне все объекты.
А через интерфейс пользователя он не допускается к данному файлу. -
-
Окт. 12, 2010, 2:35 п.п., спустя 3 минуты 36 секунд
тоже одна точка входа, при всем желании нихуя не запуститьСапожник без сапог -
Окт. 12, 2010, 2:36 п.п., спустя 36 секунд
и что это?
тут смотря какая структура сайта…
допустим у меня все запросы централизованно разруливаются роутером и ниче напрямую не запустишь
да даже если и запустишь, какой толк от запущенного файла с классом?
Да я не спорю при нормальной структуре канеш ничо не будет, ТС не говорил какая у него тамСпустя 24 сек.И судя по всему у него как раз таки будет -
Окт. 12, 2010, 2:40 п.п., спустя 4 минуты 36 секунд
Professor, ну значит хуево спроектировалвсе умрут, а я изумруд -
Окт. 12, 2010, 2:45 п.п., спустя 5 минут 9 секунд
тоже одна точка входа, при всем желании нихуя не запустить
ну в теории, если нет .htaccess - можно открыть /code/core/Session/StorageAdapter/File.php , который implements Session_StorageAdapterInterface, который не подгрузится autoload'ом, так как мы миновали точку входа. И получим фатал: интерфейс андефайнд -
Окт. 12, 2010, 2:46 п.п., спустя 40 секунд
ну у меня тоже 1 точка входа.
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Options -Indexes
RewriteRule ^(.*)$ index.php?URL=$1 [L]
но разве этоRewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
не позволяет запускать файлы напрямую если они существуют? -
Окт. 12, 2010, 2:48 п.п., спустя 2 минуты 22 секунды
Professor, так ебать, внутри %document_root%/code/ сделай ты .htaccess, в котором deny from all -
Окт. 12, 2010, 2:51 п.п., спустя 2 минуты 30 секунд
не позволяет запускать файлы напрямую если они существуют?
А попробуй))
кидает на index все что прошлоRewriteRule ^(.*)$ index.php?URL=$1 [L]
как бэRewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!