Достаточно ли такой защиты?

maksla

Новичок
У меня такой теоретический вопрос.
Есть файл, допустим index.php

<?php
session_start();
$_SESSION['key'] = "blabla";
include("login.php");
?>

А в файле login.php, не открывая сессии стоит проверка, типа
<?php
if (!isset($_SESSION['key'])) exit;
...исполняемая часть...
?>

Соответственно вопрос, можно ли как то обратится к файлу login.php и подсунуть ему переменную сессии, если в этом файле сессия не открывается? Т.е. можно ли его запустить, минуя index.php?
Сорри, если уже гдето пробегало, я поискал в поиске - эта тема самая ближайшая по смыслу оказалась.
 

Фанат

oncle terrible
Команда форума
непонятен смысл этой конструкции.
зачем здесь стартовать сессию и присваивать значение $_SESSION['key']?
Нельзя ли привести более правдоподобный кусок кода?
 

zap

Guest
>>Соответственно вопрос, можно ли как то обратится к файлу login.php и подсунуть ему переменную сессии, если в этом файле сессия не открывается?

нет
 

Kelkos

Сам себе программер
zap
Твой вопрос сводится к: можно ли подсунуть скрипту в сессии свои данные.
Ответ - нет. (нуу.. на кривом хостере можно.. но это уже экзотика.)
 

maksla

Новичок
Фанат
Мне нужна самая простая система для защиты файлов от несанкционированного запуска. Т.е. все файлы запускаются только через index.php, на который навешивается задача по авторизации.
Реального кода пока нет, одна теория...я просто думаю, как лучше сделать.
 

Фанат

oncle terrible
Команда форума
сессии к такой системе никакого отношения не имеют.
во-первых,, в запуске всех файлов через индекс я решительно не вижу никакого смысла. но если уж ты делаешь так, то тогда сессии к этим файлам не имеют ни малейшего отношения.
 

P.Anton

Новичок
Автор оригинала: maksla
Фанат
Мне нужна самая простая система для защиты файлов от несанкционированного запуска. Т.е. все файлы запускаются только через index.php, на который навешивается задача по авторизации.
Реального кода пока нет, одна теория...я просто думаю, как лучше сделать.
Положи в директорию с защищаемыми файлами .htaccess. index.php сможет запускать эти скрипты.
 

zap

Guest
2 Kelkos:
это был не мой вопрос, это цытата maksla
 

maksla

Новичок
Фанат
Я не могу найти литературы по архитектуре веб-проектов, поэтому не знаю как лучше делать.
Мне нужно сделать подобие админцентра интернет-магазина.
Я пока думаю над общей структурой, как правильней организовать.
P.Anton
Спасибо, попробую.
 

kruglov

Новичок
Фанат
> в запуске всех файлов через индекс я решительно не вижу никакого смысла
А почему? Пишет он админку, типа index.php?module=format&disk=c,
index.php проверяет логин-пароль, грузит библиотеки, ведет логи, включает гзипованную выдачу контента и запускает нужные модули, которые уже ни о чем таком не заботятся, а чисто делают свое дело...
 

maksla

Новичок
kruglov
Да, пока у меня вырисовывается именно такая система.
Но мне хочется посмотреть, как можно организовать еще..я только не знаю, где можно посмотреть, поэтому пришел с глупыми вопросами сюда :)
 

Фанат

oncle terrible
Команда форума
maksla, для начала не путайся.
если ты хочешь организовать - задавай вопросы про организовать.
Если тебя интересует парольная защита - спрашивай про парольную защиту.

Пока, код приведённый тобой, не имеет ни малейшего смысла.
Будет очень здорово, если ты это поймёшь.
 

maksla

Новичок
Фанат
Я понимаю, что пока мои примеры высосаны из пальца.
Сразу ссори за оффтоп.
Просто я сначала, обдумав свою идею, кинулся ее реализовывать.
И начал тонуть в возникающих проблемах.
Поэтому я отложил сам процесс программирования и сейчас пытаюсь найти ответы на глобальные вопросы.

К таковым относится:
Как правильно организовать структуру проекта, чтобы без особых трудностей иметь возможность подключать дополнительные скрипты по мере их написания?
Как организовать хранение скриптов на диске, мелкими кусочками или более крупными объединенными блоками?
Как защитить эти скрипты от несканкционированного доступа?
Как лучше организовать систему авторизации?

Каков много, мысли разбегаются. Что читать неизвестно, на что ориентироваться тоже. Ктото одно пишет, ктото другое и все вроде правы.
Ладно, я больше оффтопить не буду, постараюсь разобраться своими силами.
 

kvf77

Red Devil
maksla

с таким подходом ты никогда не начнешь писать - проверено. надо начать писать - а потом решать проблемы и вопросы. глобализацияя проблем этих проблем не решит
 

Фанат

oncle terrible
Команда форума
Как правильно организовать структуру проекта, чтобы без особых трудностей иметь возможность подключать дополнительные скрипты по мере их написания?
какая проблема просто сделать ссылку на этот скрипт?
впрочем, если хочешь запускать всё через индекс - делай так. Вариантов много, идеальных нет.
Просто надо понять, что вопрос авторизации к способу добавления скриптов не имеет никакого отношения.
Как организовать хранение скриптов на диске, мелкими кусочками или более крупными объединенными блоками?
Это тоже всё равно. Мо временем сам придёшь к оптимальному варианту. И поменяешь его пять раз.
лично мне нравится держать весь код, относящийся к модулю, в одном скрипте. Скажем, скрипт админки новостей и скрипт рпоказа новостей

-~{}~ 11.07.05 17:34:

Как защитить эти скрипты от несканкционированного доступа?
непонятно, что имеется в виду. Закрытие админских скриптов? Паролем на директорию.
закрытие этих твоих модулей? парольный доступ к инфе на сайте?
Как лучше организовать систему авторизации?
через сессии. Только сначала поняв, как работает пхп скрипт, и как работают сессии. Чтобы не использовать их для передачи значения в подгружаемый скрипт
 

Dvous

Новичок
maksla
Ну вообще если тебе нужно чтобы login.php можно было запустить только через Index.php можно на индексе в скрипте объявить константу, а в логине эту константу проверять как делается во многих системах, чтобы нельзя было выполнить отдельный скрипт.

На вопрос как правильно огранизовать суруктуру проекта, мне допустим в свое время помогли IPB phpBB VBulletin и другие, я лазил копался в коде смотрел что да как там у них ну и в итоге что то придумал сам что то перенял у них и т.п.

А на счет безопасности, так заходи на detail.phpclub.ru там есть парочка нормальных статей, где все основные методы взлома и того как с этим всем боротся изложены.
 

maksla

Новичок
kvf77
Аха, так я уже начал писать..только потом, когда ударяет очередная мысля в голову, приходится судорожно в десяти местах переписывать. А я ленив и лучше один раз потрачу время, но огранизую все по человечески.
Фанат
>>какая проблема просто сделать ссылку на этот скрипт?
Может это и наивно, но мне кажется во-первых будет явным образом показано расположение скрипта, а во-вторых эстетика.
Но если главную причину назвать, я почти везде видел именно систему, когда все скрипты работают через один какой то файл. Мнить себя суперпрограммистом не хочется, думается не глупее меня люди писали.
 

Фанат

oncle terrible
Команда форума
Может это и наивно, но мне кажется во-первых будет явным образом показано расположение скрипта
это не наивно. это, извини - глупо! ЧТО такого ужасного в РАСПОЛОЖЕНИИ СКРИПТА? Бабкины суеверия. Стыдно.
а во-вторых эстетика.
хренассе.
у меня, наверное, извращённое представление об эстетике
колбаса
index.php?module=news&id=666
теперь, оказывается, стала эстетичнее выглядеть, чем
news.php?666

Мнить себя суперпрограммистом не хочется, думается не глупее меня люди писали.
глупее.

Повторюсь - я не уговариваю тебя за свою систему. Но, чёрт возьми - хочется, чтобы выбор был осознанный, а не на основе нелепых слухов и стадного инстинкта!
 

maksla

Новичок
Фанат
Мне просто не с чем особо сравнивать.
Вообще поражает скудость материалов по теории.
Т.е. любую тактическую задачу решить в инете - без проблем, но найти возможные методы стратегической компоновки сайтов - тайна за семью печатями.
>>теперь, оказывается, стала эстетичнее выглядеть
Не знаю, может просто потому, что именно так реализовано везде и привыкаешь к такой колбасе.
Кроме того, мне показалось, что таким образом проще унифицировать страницы, ведь по сути весь дизайн я формирую в индексовской странице.
 

Фанат

oncle terrible
Команда форума
найти возможные методы стратегической компоновки сайтов - тайна за семью печатями.
это потому, что на самом деле адрес к компоновке сайта не имеет отношения.
адреса
/news/666.html
news.php?666
index.php?module=news&id=666
может обрабатывать одни и та же структура =)

именно так реализовано везде
не надо ля-ля.
на нормальных сайтах используются нормальные адреса.
ведь по сути весь дизайн я формирую в индексовской странице.
опять заблуждение =)
формирование дизайна тоже не имеет никакого отношения к структуре сайта. использовать "одну страницу" можно при любой компоновке.
точно так же заинклюдить тот же самый дизайн в news.php не составит проблемы.

вот только в этом случае ты ДО вывода дизайна сможешь определить, к примеру <title>, и в дизайне оно выведется.
а с общим индексом, у тебя сначала выводится заголовок, а только потом запускается скрипт.
 
Сверху