[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Взлом авторизации
Страницы: 1, 2, 3, 4
twin
Цитата
Да ничего страшного не происходит! А вот в вашем случае если юзер введет что-то типа - test \', то при выводе получит test \\\', если конечно вы не будете применять stripslashes(), а если будете, то +несколько килобайт кода вам в минус и скорость работы не в плюс.
Вы сначала попробуйте, прежде чем так категорично заявлять. test \\\' Вот это Вы получите, если будете эксперементировать примерно так:
PHP
<?
echo 
mysql_escape_string("\'");
что наверняка и делаете. Только этого делать нельзя, так как функция предназначена именно для работы с запросами, а не с выводом. В базу она запишет именно \' и ничего иначе. А вот работать с регулярками по сущностям - это ноу-хау, я Вам скажу...

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Revan
Насчёт выхода, это уже моя проблема я никого не просил писать мне скрипт на удаление кук, он у меня уже давно есть. Насчёт взлома: если действительно сайт захотят взломать то они этого сделают, да и насчёт паролей, я пользователям никаких гарантий на то что их информация останется не тронутой не давал, думать уж им регистрироватся или нет, и о том какой пароль использовать думать тоже им.

_____________
FC Barcelona - она всегда будет в моем сердце!
Revan
PHP
echo mysql_escape_string("\'");
- Но а насчёт этого вы twin в принципе правы

_____________
FC Barcelona - она всегда будет в моем сердце!
twin
Цитата
Насчёт взлома: если действительно сайт захотят взломать то они этого сделают, да и насчёт паролей, я пользователям никаких гарантий на то что их информация останется не тронутой не давал, думать уж им регистрироватся или нет, и о том какой пароль использовать думать тоже им.
Конечно сломают, если Вы так и дальше будете рассуждать. И слава Богу, что этот Ваш сайт так, детская забава. Потому что к серьёзному ресурсу так не относятся. Пользователя надо уважать, любить и беречь. Вы очень наплевательски о них рассуждаете. Вот посмотрите, и они ответят Вам тем же, потому что мало кто захочет регистрироваться на сайте, сделанном по дилетантски и с таким к ним изначальным отношением.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Revan
Извените, но мой сайт - это не детская забава как вы говорите, и к пользователям я не "наплевательски" отношусь, я действую в пределах возможного, но поверьте, какая бы защита не была у сайта, её всё равно взломают если захотят, А сайт они смогут взломать не потому что Я так рассуждаю.

_____________
FC Barcelona - она всегда будет в моем сердце!
twin
Цитата
я действую в пределах возможного,

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

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Revan
А на чём предлагаете кукисы построить? Логин и ID?

_____________
FC Barcelona - она всегда будет в моем сердце!
Revan
Вижу по той ссылке которую вы дали (К стати спасибо за неё много чего полезного) там к ID как я понял случайное значение присоеденяется?

_____________
FC Barcelona - она всегда будет в моем сердце!
twin
Ну да, там всё расписано. Главное принципы построения усвоить, тогда легко и надежно можно делать авторизацию. И спать спокойно.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Revan
Рассматрю этот вариант, спасибо за помощь smile.gif

_____________
FC Barcelona - она всегда будет в моем сердце!
kirik
twin, кстати, md5 невозможно взять брутом (тем более с солью). Можно создать строку с такой же контрольной суммой, но никак не раскрыть оригинал. Иначе ДВД фильмы можно было бы посылать СМСкой =)

Но соглашусь, ваш вариант будет по-безопаснее, да и интереснее smile.gif Спасибо!
twin
md5 легко колется брутом, если длина пароля меньше 5 смволов. Больше уже трудно, а еще больше просто экономически не выгодно. По этому можно с солью не заморачиваться, а просто ограничить минимальное к-во символов в пароле.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
kirik
Цитата (twin @ 28.01.2009 - 14:34)
По этому можно с солью не заморачиваться, а просто ограничить минимальное к-во символов в пароле.

Вот это очень парит, когда есть пароль 5-ти символьный для всяких "левых" ресурсов, а тебе выдают ошибку о том, что пароль должен быть на 2 симовла больше. Приходится придумывать что-то.
twin
Есть такой момент. Тут разные подходы и разные точки зрения. Я почему и говорю - защита вещь индивидуальная. Вот когда принцип поймешь и правила хорошего тона усвоишь, тогда и защита получается корректная и надежная.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
amberlx
На счет записи в базу, прочитал ман (http://php.ru/manual/function.mysql-real-escape-string.html) и пользуюсь этой функцией:

Код
<?php
function quote_smart($value)
{
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
   if (!is_numeric($value)) {
       $value = "'" . mysql_real_escape_string($value) . "'";
   }
   return $value;
}

$query = sprintf ("SELECT * FROM users WHERE user=%s AND password=%s",
         quote_smart($_POST['username']),
         quote_smart($_POST['password']));

mysql_query($query);
?>

Запрос, составленный таким образом, будет выполнен без ошибок, и взлом с помощью SQL Injection окажется невозможен.

Работает 100% без всяких глюков.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.