|
|
|
| Добрый день! Обьясните пожалуйста на примере, как работать с сесией, например для авторизации, что бы ввел пасс и логин и потом если верно то что бы через GET передавался не логин с паролем а сесия...
Вообщем на примере покажите ПЛИЗ! Желательно с коментариями :) | |
|
|
|
|
|
|
|
для: Dwep
(06.06.2008 в 13:59)
| | как это делаю я
пользователю при входе на сайт сохраняется кука типа 1654151а565151ugh515651
при регистрации указывается логин и пароль, которые сохраняются в базу вместе с кукой
приповторном входе на сайт один из скриптов проверяет куку пользователя и сверяет с данными в базе, если находит, то пользователь получает сообщение в роде: "привет vasya_pupkin"
если не находит то просит авторизоваться
авторизация проходит так: пользователь вводит логин и пароль. Скрипт проверяет есть ли пользователь с такими логином и паролем, если находит, то просто заменяет старую куку новой (update).
Я считаю что плюс такой системы в том, что ид пользователя всегда уникально и его хрен подберешь, при этом оно постоянно меняется
А уж как это реализовывать - это все коды и по каждому пункту разбираться надо отдельно. | |
|
|
|
|
|
|
|
для: neokortex
(06.06.2008 в 15:13)
| | а можешь кусочек кода дать? с комментариями ) | |
|
|
|
|
|
|
|
для: neokortex
(06.06.2008 в 15:13)
| | По-моему, Вы слегка запутались в понятиях.
Кука - это cookie
сессия - это SESSION. | |
|
|
|
|
|
|
|
для: SiM(R)
(06.06.2008 в 16:31)
| | Мне надо примерчик сессии. Вобщем в первом посте расписано что мне надо :) | |
|
|
|
|
|
|
|
для: Dwep
(07.06.2008 в 08:38)
| | Я сегодня добрый)
<?
if (empty($_POST['Login']) || empty($_POST['pass']))
{ // Форма для ввода логина и пароля
include "incl/S1.txt";
echo ("Введите имя и пароль");
include "incl/S2.txt";
exit;
}
...
$test=mysql_query("select `pass`, `id_user` FROM `users` WHERE name = '".$login."'");
$t=mysql_fetch_array($test);
if (!$t)
{
include "incl/S1.txt";
print("<font color=red size=3>Неверно введенно имя или пароль</font>");
include "incl/S2.txt";
exit;
}
elseif ($t['pass']==$pass)
{ // Имя и пароль совпали, созаем сессию
session_start();
$_SESSION['login'] = true;
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['id_user']=$t['id_user'];
header("Location: main.php");
exit;
}
else
{
include "incl/S1.txt";
print("<font color=red size=3>Неверно введенно имя или пароль</font>");
include "incl/S2.txt";
exit;
}
?>
|
Проверка на main.ph
<?php
session_start();
if (empty($_SESSION['login'])&& $_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
{
header("Location: index.php");
exit;
}
|
Здесь отсутсвует кусок кола отвечающий за обработку логина и пароля перед использованием их в мускл-запросах, но я так понимаю это и не надо. | |
|
|
|
|
|
|
|
для: Dwep
(07.06.2008 в 08:38)
| | Мне надо примерчик сессии
Всё что вам надо - это хорошая книга. И не думайте, что я пытаюсь вас "отфутболить". Просто различного рода примерами в данном вопросе можно скорее навредить, чем помочь. Хотя если цели научится нет, то и "непоймикемнаписаный код" тоже сойдёт :) | |
|
|
|
|
|
|
|
для: neokortex
(06.06.2008 в 15:13)
| | ид пользователя всегда уникально и его хрен подберешь
А вот тут вы не угадали (как впрочем и относительно всего остального), я уже писал, что по теории вероятности угадать ид можно с первого раза, правда вероятность этого ничтожно мала, но она есть.
И вообще сесии не подбирают, их "уводят". Социальная инженерия - форевер!. | |
|
|
|
|