|
|
|
| мб баян но всё же..
решил усовершенствовать свою немного))
правильно ли будет сделать так:
юзер ввёл акк,пароль --- сверили --- если правильно генерируем ему уник код --- этот код пишем в бд --- пишем в куки его же.
А потом сверяем куки и запись в бд.
? | |
|
|
|
|
|
|
|
для: sl1p
(16.08.2008 в 21:11)
| | Можно еще писать в БД и в сессию писать. И соответственно сверить сессию и запись в БД | |
|
|
|
|
|
|
|
для: sl1p
(16.08.2008 в 21:11)
| | PHP предоставляет встроенный механизм для реализации этой идеи - сессии. Для записи в базу данных уникальный код сессии вы можете получить при помощи функции session_id(). | |
|
|
|
|
|
|
|
для: cheops
(17.08.2008 в 12:05)
| | это, понятно. Я не могу понять зачем тут вообще нужна сессия если можно просто обойтись куки и бд? Можно просто сгенерировать уникальный код руками,записать его в куки\бд и так сверять? Или я не догнал чегото) | |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 13:36)
| | Все правильно, можно и так. Если вам кажется более прозрачным обойтись без сессии можно реализовать самостоятельный механизм генерации кода и помещения его в базу данных - просто сессия генерирует уникальный код в пределах сервера - это очень удобно - все посетители будут иметь уникальный код. | |
|
|
|
|
|
|
|
для: cheops
(17.08.2008 в 16:01)
| | ну короче как сделал я..
при логине пишем в куки1=уникальный код, куки2=имя ползователя
в бд пишем код в строку этого юзера.
далее на всех страницах проверяется так:
если куки1 и куки2 не пусты,
выдераем код из бд,где имя пользователя=куки2.
если количетсво строк !=0 то сверяем код из куки1 и запись из бд,
если всё правильно делаем то-то..
--
•так в принципе нормально будет?
--
>сессия генерирует уникальный код в пределах сервера - это очень удобно - все посетители будут иметь уникальный код.
тоесть в таком случае сессия используется просто как генератор уникального кода и не больше? | |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 16:09)
| | То, что Вы сделали - и есть механизм сессии, только самостоятельно реализованный. А значит и скорость работы у Вашего механизма будет меньше. | |
|
|
|
|
|
|
|
для: BinLaden
(17.08.2008 в 16:58)
| | я просто не хочу юзать сессию так как сайт уже почти написан.. и переписывать както нет сил) + мне нужна длительная авторизация | |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 17:40)
| | > мне нужна длительная авторизация
Не недо от балды ничего придумывать. Это никак не связано со стандартным механизмом сессий. | |
|
|
|
|
|
|
|
для: BinLaden
(17.08.2008 в 18:07)
| | ну а как тогда сессию можно юзнуть для длительной авт.? у меня с ней практики не было поэтому нешарю. | |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 18:24)
| | pы. какого она всё время генерит один и тот же код?.. открыл сессию взял код, потом зашёл под другим пользователем код такой же..=\
такое вот для себя написал помоему покатит)
<?
function id_gen($count)
{
$id="";
$gen=array(0=>"a",1=>"b",2=>"c",3=>"d",4=>"e",5=>"f",6=>"g",7=>"h",8=>"i",9=>"j",10=>"k",
11=>"l",12=>"m",13=>"n",14=>"o",15=>"p",16=>"q",17=>"r",18=>"s",19=>"t",20=>"u",21=>"v",
22=>"w",23=>"x",24=>"y",25=>"z",26=>"A",27=>"B",28=>"C",29=>"D",30=>"E",31=>"F",32=>"G",
33=>"H",34=>"I",35=>"J",36=>"K",37=>"L",38=>"M",39=>"N",40=>"O",41=>"P",42=>"Q",43=>"R",
44=>"S",45=>"T",46=>"U",47=>"V",48=>"Q",49=>"X",50=>"Y",51=>"Z",52=>"0",53=>"1",54=>"2",
55=>"3",56=>"4",57=>"5",58=>"6",59=>"7",60=>"8",61=>"9",62=>"-",63=>"_");
for($i=1;$i<=$count;$i++){
$id.=$gen[rand(0,63)];
}
return $id;
}
?>
|
| |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 16:09)
| | >ну короче как сделал я..
>при логине пишем в куки1=уникальный код, куки2=имя ползователя
>в бд пишем код в строку этого юзера.
>
>далее на всех страницах проверяется так:
>если куки1 и куки2 не пусты,
>выдераем код из бд,где имя пользователя=куки2.
>если количетсво строк !=0 то сверяем код из куки1 и запись из бд,
>если всё правильно делаем то-то..
>--
>•так в принципе нормально будет?
>--
Для длительной авторизации желательно код в базе зашифровать через MD5 хотя бы.
Тогда если взломщик прочитает содержимое вашей базы, он всё равно не сможет войти под чужим логином (надеюсь у вас пароли захэшированы), пока не найдёт способ ещё и куки выкрасть. | |
|
|
|
|
|
|
|
для: Eugene77
(18.08.2008 в 20:00)
| | ну пароли закодированы. | |
|
|
|