Страница 1 из 1
Админка в пхп
Добавлено: 2008-02-14 8:06:28
ADRE
Интересует кто как делает, посмотрел в классической книжке: лаура томпсон и люк веллинг. там все через сессии, на самом деле интересует как сделать с куки, ну естественно проверочки там разные

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

Re: Админка в пхп
Добавлено: 2008-02-14 10:19:47
Alex Keda
писать юзеру некую строку, её же хранить на сервере.
Re: Админка в пхп
Добавлено: 2008-02-14 10:55:24
ADRE

эх думал еще какие интересные вещи есть, не так нет

пайду валенки корче покупать зае***** мерзнуть... то тепло то холод...
Re: Админка в пхп
Добавлено: 2008-02-14 12:41:41
Alex Keda
ADRE писал(а):
эх думал еще какие интересные вещи есть, не так нет

пайду валенки корче покупать зае***** мерзнуть... то тепло то холод...
ну а что ещё придумать?
могу посоветовать добавить колонку с временем жизни кукиса и с временем установки на сервер - и проверять по ним - не полагаясь на клиента...
но это уже изврат....
Re: Админка в пхп
Добавлено: 2008-02-14 18:52:16
zg
ADRE писал(а):Интересует кто как делает, посмотрел в классической книжке: лаура томпсон и люк веллинг. там все через сессии, на самом деле интересует как сделать с куки
а ты знаешь для чего нужны куки и зачем была придумана сессия?
гвозди можно и головой забивать, но почему-то все молотком пользуются...
если ты начинаешь изучать пхп, то ради экспы можешь попробовать так и так, но если будешь давать жизнь своим скриптам, то авторизуй только через сессию!
Re: Админка в пхп
Добавлено: 2008-02-14 19:24:16
Alex Keda
а запоминать как?
Re: Админка в пхп
Добавлено: 2008-02-14 19:41:44
zg
lissyara писал(а):а запоминать как?
ну да, кука самое место для хранения паролей
если уж на то пошло, то юзать встроеные средства браузера для автозаполнения логин-форм
Re: Админка в пхп
Добавлено: 2008-02-14 20:40:03
hizel
ммм поповоду сессий лучше погуглить perl and sessions
в форумах народ обсуждает реализацию и теорию
например
http://forum.vingrad.ru/forum/topic-133 ... D0%B8.html
и
http://www.linux.org.ru/view-message.jsp?msgid=1926749
хинт: осторожно ЛОР
а в пых-пыхе помоиму это делается встроенными средствами
поэтому половина пэхапистов чокчиму не знает
но пользует
Re: Админка в пхп
Добавлено: 2008-02-14 20:52:09
paranoidchaos
а ещё лучше использовать базовую авторизацию
и не париться о сохрания сессий на сервере или кукисов у пользователя
Re: Админка в пхп
Добавлено: 2008-02-14 20:55:34
Alex Keda
lissyara писал(а):писать юзеру некую строку, её же хранить на сервере.
про пароль тут не было ни слова.
вот строка генриться после проверки пароля - но к паролю отношения может не иметь.
просто идентификатор дающий на некторое время тебе лазить без ввода пароля.
Re: Админка в пхп
Добавлено: 2008-02-15 6:29:00
ADRE
ПРо строку - классика, подбором печально будет все это дело отгадывать, с сессиями как-то странно получается, они присваивают челвеку кукисы на сессию(так понимаю), так зачем заморачиваться с сессией когда присвоил куки челвеку, засунул туда шифрованный пароль,добавочные левые символы для проверки , все это в бд засунул, потом проверил, в кукисах поставил жизнь на 45 минут.
----------------------------------------------------
з.ы как всегда нормально вопрос не сформулировал, интересует подмена глобальных массивов $_post, $_get, $_cookie. чем их смотреть, фильтровать,(методика

) или только определением их типа + фильтр буковок которых там не может быть?
посмотрю в инетике может кто выкладывал описание по созданию мега админки.

Re: Админка в пхп
Добавлено: 2008-02-15 9:00:16
zg
ну давай пиши мега админку на куках

флаг тебе в руки, только запомни - кукам нельзя доверять
есть простое правило - всё что пришло от пользователя есть попытка взлома, а значит этому содержимому нельзя доверять. Куки хранятся у пользователя, их отдаёт браузер при открытии страницы, при этом если не включены секурные куки, то они хранятся в виде простых текстовых файлов, а значит к ним имеет доступ конечный пользователь. Сессия хранится только на сервере, при чём может храниться не только в файловой системе, но и в любом другом хранилище, например в базе данных, к ней конечный пользователь (и можно оградить вообще от всех пользователей) доступа не имеет, а значит ей можно доверять.
Любые поптыки засунуть признак "авторизованности" на сторону клиента есть потенциальная уязвимость, а если для этого используются куки, то это "мегадырень" в "мегаадминке".
Re: Админка в пхп
Добавлено: 2008-02-15 9:25:01
Alex Keda
собсно - строку я предлагал случайную делать - мегахакеру её взять просто неоткуда, время жизни куки тоже предложил отдельно хранить на сервере.
собсно - граблей не вижу...
Re: Админка в пхп
Добавлено: 2008-02-15 19:56:13
zg
lissyara писал(а):собсно - строку я предлагал случайную делать - мегахакеру её взять просто неоткуда, время жизни куки тоже предложил отдельно хранить на сервере.
собсно - граблей не вижу...
Лис, ты изобрёл сессию, поздравляю
Идентификатор сессии передаётся через куку, если кука не поддерживается то через урл (это контролирует пхп). Время жизни сессии контролируется сервером, устаревшие сессии не стартуют и удаляются по мере необходимости. Номер сессии уникален и генерируется случайным образом, поэтому подделать актуальный номер невозможно. Насколько я помню, для сессии так же важен ip, с которого она была запущена и тот, с которого она используется, с левых ip запускается новая сессия, но могу и ошибаться.
Таким образом идея о "случайной строке" в куках уже давно реализована и успешно работает и имя ей "сессия"

.
Re: Админка в пхп
Добавлено: 2008-02-15 21:54:16
Alex Keda
идей хороших не много.
поэтому все, разными путями, приходят именно к ним

Re: Админка в пхп
Добавлено: 2008-02-15 23:19:28
BlackCat
zg писал(а):Насколько я помню, для сессии так же важен ip
IP, к сожалению пхп не проверяет (эту проверку придется вручную делать).
=====
Что бы долго не спорить о сессиях, можно почитать раздел "сессии" в официальной докумментации на
http://www.php.net - очень много полезных сведений.
=====
ADRE, просто напишите пару админок, а там и понимание придет

Re: Админка в пхп
Добавлено: 2008-02-18 4:51:47
ADRE
дык чтоб самому написать много времени надо, занимаюсь их расковыриванием, тогда приходит и понимание

) благо Гнутых систем не мало
Re: Админка в пхп
Добавлено: 2008-02-18 8:49:05
zg
ADRE писал(а):благо Гнутых систем не мало
phpBB2 написан очень неплохо, pma, можно глянуть иногда (но не увлекаться)
но всё равно, пока не попробуешь сам написать, будет лишь иллюзия понимания

Re: Админка в пхп
Добавлено: 2008-02-18 9:12:59
ADRE
zg писал(а):ADRE писал(а):благо Гнутых систем не мало
phpBB2 написан очень неплохо, pma, можно глянуть иногда (но не увлекаться)
но всё равно, пока не попробуешь сам написать, будет лишь иллюзия понимания

дык согласен

а как еще начинать, не читать же гору книжек =/
====================
если еть что интересное посмотреть выкладывай )
Re: Админка в пхп
Добавлено: 2008-02-18 11:12:23
zg
Скрипт авторизовалки
Код: Выделить всё
<?
// auth.php
// Если сессия не запущена, то запускаем её
if ( !session_id() ) session_start();
// Пользователь уже авторизован
if ( isset($_SESSION['AUTH_OK']) && $_SESSION['AUTH_OK'] ) return true;
// Пользователь пытается авторизоваться
if ( isset($_POST['login']) )
{
if ( checkLogin( $_POST['login'], $_POST['passw'] ) )
return true;
else
echo '<div style="color: red"><b>Неверный логин или пароль</b></div>';
}
// Вывод формы логирования
loginForm();
exit();
/**
* Вывод формы логирования
*
* @return void
*/
function loginForm()
{
?>
<form method="POST">
<label for="login">Логин</label> <input id="login" name="login" /><br />
<label for="passw">Пароль</label> <input type="password" id="passw" name="passw" /><br />
<input type="submit" value="Login" />
</form>
<?
}
/**
* Проверка логина и пароля
*
* @param string $login
* @param string $passw
* @return bool
*/
function checkLogin( $login, $passw )
{
if ( 'root' === $login && 'root' === $passw )
{
$_SESSION['AUTH_OK'] = true;
return true;
}
return false;
}
?>
использование
Код: Выделить всё
<?
// Авторизация
include('auth.php');
?>
Закрытая часть админки
это одно из самых простых и надёжных решений, поскольку конечный пользователь даже не знает каким образом и какой скрипт его авторизует, ведь его авторизует именно тот раздел, куда он пришёл, и стало быть ни каких редиректов

Re: Админка в пхп
Добавлено: 2008-02-19 4:17:00
ADRE
На досуге посмотрю, поковыряю другие выложу

на просмотр...