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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 16:31   #11
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от wyvern Посмотреть сообщение
Ну во-первых логин должен иметь констрейнт на юник.
Во-вторых, если в таблице у тебя пара миллионов записей, то разница крайне ощутима...
Согласен, count(*) несколько быстрее, но я не думаю что предполагается хранить пару млн юзеров, ну и как минимум не совсем корректно использовать этот запрос именно так:

Код:
select count(*) from table where login = 'abcdef';
экранирование так же отберет незначительную часть во времени..

Но с точки зрения безопасности мое имхо запрос:
Код:
$query = "SELECT`id`FROM`users`WHERE `login`='{$login}' AND `password`='{$password}' LIMIT 1";
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 07.04.2009, 16:34   #12
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Пасиб за то что помогли разобраться.
в примере (за что отдельное спасибо) от Stanislav
Цитата:
if (!$error)
{
// генерируем соль и пароль

$salt = GenerateSalt();
$hashed_password = md5(md5($password) . $salt);

$query = "INSERT
INTO `users`
SET
`login`='{$login}',
`password`='{$hashed_password}',
`salt`='{$salt}'";
$sql = mysql_query($query) or die(mysql_error());
Объясните пожалуйста что за соль ?
KEV вне форума Ответить с цитированием
Старый 07.04.2009, 16:40   #13
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от KEV Посмотреть сообщение
Пасиб за то что помогли разобраться.
в примере (за что отдельное спасибо) от Stanislav

Объясните пожалуйста что за соль ?
Соль (secret_code) это случайная последовательность символов, которая добавляется к хешу пароля, таким образом усложняем жизнь взломщикам.

вот держите адрес страницы откуда был взят этот скрипт, там все понятно и хорошо описано: http://pyha.ru/articles/php/auth/
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySQL+php+delphi k13 Работа с сетью в Delphi 7 16.05.2009 18:02
PHP and MySQL ошибка NecRoMat PHP 13 19.01.2009 18:06
PHP Поиск в MySQl LeoN PHP 10 08.07.2008 07:10
mysql & php kkkggg PHP 1 08.08.2007 19:55