Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2015, 00:41   #11
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
а вот ниже строчка $_SESSION['login'] = md5(session_id()); это для чего просто не очень понял (((
С помощью этой строчки
Цитата:
Сообщение от s88s Посмотреть сообщение
логин вносится в сессию
Как-то так.
Streletz вне форума Ответить с цитированием
Старый 07.04.2015, 13:58   #12
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Прошу прощения ... но я немного не понимаю как правильно сделать ((

Короче у меня есть форма входа сделал ее так

Код:

<?php
session_start();

include("подключение к базе данных");

if(isset($_POST['login']) && isset($_POST['password']){

$sql = "SELECT `id` FROM `login` WHERE `login`='".$login."' AND `password`='".$password."'";
$query = mysql_query($sql);

if(mysql_num_rows($query) == 0)	{
$error = "Пользователь с указанными данными не зарегистрирован";
echo $error;
}

if($error == false){
$_SESSION['login'] = $login;
$_SESSION['password'] = $password;
}
}
if(isset($_SESSION['login']) && isset($_SESSION['password'])){

echo "Добро пожаловать " . $_SESSION['login'] . "<br />";
echo "<a href='./exit.php'>Выход</a>";

}
else echo "
<form action='' method='POST'>
<label for='login'>Ваш логин :</label>
<br />
<input type='text' name='login' id='login' />
<br />
<label for='password'>Ваш пароль :</label>
<br />
<input type='password' name='password' id='password' />
<br />
<input type='checkbox' name='checkbox_login' /> Запомнить меня
<br />
<input type='image' src='/img/enter_1.png' name='enter_OK' id='enter_OK' />
</form>";
И вот как к этому прикрутить запоминалку на вход через checkbox ...

сделал следующее что у меня заработало это к коду добавил

Код:

<?php
session_start();

include("подключение к базе данных");

/* Проверка на куки начало */
if(isset($_COOKIE['login']) && isset($_COOKIE['password'])){

$_POST['login'] = $_COOKIE['login'];
$_POST['password'] = $_COOKIE['password'];

}
/* Проверка на куки конец */

if(isset($_POST['login']) && isset($_POST['password']){

$sql = "SELECT `id` FROM `login` WHERE `login`='".$login."' AND `password`='".$password."'";
$query = mysql_query($sql);

if(mysql_num_rows($query) == 0)	{
$error = "Пользователь с указанными данными не зарегистрирован";
echo $error;
}

/* Для создания куки начало */
if(isset($_POST['checkbox_login'])){
setcookie("login", $login, time()+3600);
setcookie("password", $_POST['password'], time()+3600); 
}
/* Для создания куки конец */

if($error == false){
$_SESSION['login'] = $login;
$_SESSION['password'] = $password;
}
}
if(isset($_SESSION['login']) && isset($_SESSION['password'])){

echo "Добро пожаловать " . $_SESSION['login'] . "<br />";
echo "<a href='./exit.php'>Выход</a>";

}
else echo "
<form action='' method='POST'>
<label for='login'>Ваш логин :</label>
<br />
<input type='text' name='login' id='login' />
<br />
<label for='password'>Ваш пароль :</label>
<br />
<input type='password' name='password' id='password' />
<br />
<input type='checkbox' name='checkbox_login' /> Запомнить меня
<br />
<input type='image' src='/img/enter_1.png' name='enter_OK' id='enter_OK' />
</form>";
Но в этом варианте о безопасности только можно мечтать так как пароль в куках легко читаем

Этот пример с куками единственное что я смог соорудить работоспособным к сожалению ...
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 07.04.2015 в 14:06.
s88s вне форума Ответить с цитированием
Старый 07.04.2015, 14:10   #13
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

да что ж вы.. вас как кутенка не раз носом и в примеры? и в документацию тыкали
.... нe не храните пароль в открытом виде... записывайте хеш пароля md5(+salt)
соответственно сравнивайте потом тоже хеш из базы чтоб = тому что в куках.
ADSoft вне форума Ответить с цитированием
Старый 07.04.2015, 14:12   #14
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
.... нe не храните пароль в открытом виде... записывайте хеш пароля md5(+salt)
соответственно сравнивайте потом тоже хеш из базы чтоб = тому что в куках.
К сожалению, не сильно отличается от хранения пароля в открытом виде. Ну не прочитают сам пароль, так украдут куку.
Как вариант, вместо данных авторизации можно попробовать использовать токен (ИМХО).

Последний раз редактировалось Streletz; 07.04.2015 в 14:23.
Streletz вне форума Ответить с цитированием
Старый 07.04.2015, 14:43   #15
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
да что ж вы.. вас как кутенка не раз носом и в примеры? и в документацию тыкали
.... нe не храните пароль в открытом виде... записывайте хеш пароля md5(+salt)
соответственно сравнивайте потом тоже хеш из базы чтоб = тому что в куках.
Я понимаю что Вы не*****ся профессионал (прошу прощения за грубость) но если смотрел примеры вот не понять и все тут ...

Цитата:
Сообщение от Streletz Посмотреть сообщение
К сожалению, не сильно отличается от хранения пароля в открытом виде. Ну не прочитают сам пароль, так украдут куку.
Как вариант, вместо данных авторизации можно попробовать использовать токен (ИМХО).
Спасибо за статью ... я так понимаю для проверки куки нужно писать так же отдельную проверку как и на простую авторизацию ... Все верно ?
По крайней мере там было сделано две проверки =)
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 07.04.2015 в 14:52.
s88s вне форума Ответить с цитированием
Старый 07.04.2015, 15:02   #16
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
я так понимаю для проверки куки нужно писать так же отдельную проверку как и на простую авторизацию ... Все верно ?
Нет. Идея в том чтобы уйти от этого
Цитата:
Сообщение от s88s Посмотреть сообщение
PHP код:
if(isset($_COOKIE['login']) && isset($_COOKIE['password'])) 
Как вариант, использование токенов. Вот один из простейших вариантов. В этом примере есть как генерация токена, так и его проверка.
Streletz вне форума Ответить с цитированием
Старый 07.04.2015, 16:15   #17
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Нет. Идея в том чтобы уйти от этого
Как вариант, использование токенов. Вот один из простейших вариантов. В этом примере есть как генерация токена, так и его проверка.
А если допустим вытянут эти куки то зайти под логином человека смогут же ?
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 07.04.2015, 16:25   #18
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
А если допустим вытянут эти куки то зайти под логином человека смогут же ?
Это зависит от того, как генерируется токен.
Streletz вне форума Ответить с цитированием
Старый 07.04.2015, 17:35   #19
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

я тут смотрел все про куки и зешел на сайт habrahabr ( это не реклама сайта ) и там прочитал статью в которой говорится как можно обезопасить куки от воровства и алгоритм мне понравился буду пробывать реализовать .
Потом отпишусь получилось или нет
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 07.04.2015, 17:45   #20
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Радость

Цитата:
Сообщение от s88s Посмотреть сообщение
алгоритм мне понравился буду пробывать реализовать .
Потом отпишусь получилось или нет
Успехов!
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на сайте Florento Фриланс 3 25.11.2012 20:58
Авторизация на сайте rosljk Работа с сетью в Delphi 134 19.05.2012 11:12
Авторизация на сайте doniyor Работа с сетью в Delphi 8 21.12.2009 08:33
Авторизация на сайте vladimirzzz Работа с сетью в Delphi 7 28.09.2008 21:59