![]() |
Создание профиля
Приветствую всех!
Приношу извинения если оная тема поднималась - не нашел. При наличии таковой - прошу указать ее. Дело вот в чем: Подскажите как сделать профиль во флеше. Т.е. зарегестрироваться (создать данные при этом о себе), а в последствии входить в мувик вводя логин и пароль и продолжать с сахраннеными данными что были при регистрации. Если я как то не так выразился, утачните пожалуста. Распишу подробнее. Это очень нужно и от этого зависит как дальше будет развиваться проект. Сами понимаете. Да проект не ком. а для себя. Просто надоело без сайта сидеть. К томуж я занимаюсь аэрографией, и кто согласится помочь чистично в работе, отблагодарю холявным рисунком. ( только не на авто, дороговато...) :) P.S. Просьба ответить знающим людям и конкретно, а то как я помню тут хватает советчиков не по делу. |
стану одним из тех, кто горит не по делу. начните с азов программирования: купите пару учебников, почитайте хелпы ...
или напишите это всё в раздел "работа". |
Я не плохо разбираюсь во флеше и програмировании... но всего не охватишь, и по симу начинаешь разбирать непосредственно при столкновении с проблемой. И это к работе не относится, а всего лишь как вариант - приписка.
Мне вполне достаточно будет разъяснения что к чему или примерка. |
ну я вот, например, не понимаю сути вопроса. я лиш понимаю, что либо Вы не умеете изъясняться, либо понятия не имеете о чём пишите.
|
))) наверное первое)
Я же с неодушевленными предметами работаю... а для изьяснений у меня менегер есть))) Вобщем так: - Вы заходите на сайт, регестрируетесь (вводите о себе данные - постандарту, выбираете аватар) все, вы зарегены. По сайту блуждаете наблюдая свои данные оставленные при регистрации, к примеру в отдельном окне. Вышли с сайта - мувик кердык... когда заходите опять, то введя свой логин и пароль начинаете опять гулять и прочее и в окошечке видны ваши данные оставленные при регистрации. К примеру тот же аватар. Воть. Еще подробнее? |
понятно было и из поста #1..
ну тебе надо разработать серверную часть(бэкенд) и клиентскую(фронтенд), тоесть сам флеш... Ну заполняем поля регистрации, потом отсылаем данные на сервер.. и за этими данными закрепляется определенное место. Где мы имеем к профилю доступ через занятый логин или адресс почты, и пароль. В перспективе сложного не вижу :) |
объяснили ))
|
Вариант номер раз - используем обычные куки (cookie).
После логина, сервер сообщает браузеру, что надо установить cookie, которые содержат логин/пароль в зашифрованном виде (об шифровании позже). В следующий раз браузер сам отправит серверу куки и сервер, обработав их, автоматически залогинит. В этом варианте на флеше или вообще ничего делать не надо, или надо по минимуму. В основном тут будут задействованы сервер и браузер. Про недостатки, надеюсь, скажет кто-нибудь другой. Вариант номер два - используем флешевский SharedObject. Идея та же самая, но в этом случае мы не полагаемся на браузер, а делаем всё самостоятельно. После логина получаем от сервера некоторые зашиврованные данные и созраняем в SharedObject. В следующий раз, если обнаруживаем, в SharedObject уже что-то лежит, не предлагаем пользователю ввести имя/пароль, а сразу отправляем эти зашифрованные данные. Тут уже попрограммировать придётся побольше, но зато мы сами контролируем процесс, настройки браузера нас мало волнуют (зато волнуют настройки флеш-плеера :)). Про недостатки тоже кто-нибудь обязательно напишет, тут это умеют. Теперь по поводу того, как шифровать. Нам нужно зашифровать пару логин-пароль таким образом, чтобы сервер мог проверить, что они действительно соответствуют друг другу и в БД есть такой аккаунт. И при этом никто левый не мог бы расшифровать. Идеальный вариант - если данные вообще нерасшифровываемые. Обычно для этого используют необратимую хеш-функцию, чаще всего - MD5. На самом деле, не такая уж она и не обратимая, но это уже отдельная длинная беседа. Вобщем, самый наипростейший принцип такой: логин хранится в чистом виде, а вот вместо пароля хранится его MD5-хеш. На сервере тоже пароль в виде MD5-хеш. Флешка (или браузер) отправляет логин и хеш. Сервер по логину смотрит в базе данных, какой хеш соответствует этому логину. Если совпали - значит всё замечательно. Если нет - значит пароль бы неверный. Это так, в кратце и популярным языком. |
WindWalker, про SharedObject - бредятина.
|
согласен с предыдущем оратором.
|
Когда я говорил: "Про недостатки тоже кто-нибудь обязательно напишет, тут это умеют" - я ожидал какой-то более конкретной критики, а не бредятины.
|
конкретная критика: как быть человеку который зайдёт с другого компа? :)
|
Залогиниться.
У куки ты всегда с собой носишь? |
о том и речь :) вот в этом и весь бред
|
Батенька, у вас серьёзное обострение троллизма и хронический метеоризм в лужу.
Иногда лучше жевать, чем говорить. |
Товарищи, давайте вы перейдете от личностей к конкретике в проблеме, хорошо? А то будет плохо.
|
Куки, шара, мне интереснее услышать про обратимость MD5 :D
|
Цитата:
Разумеется, далеко не всё им по зубам. Например, если строчка с кириллицей, то не поломают. Но в целом... Довольно поучительно. |
интересно как они получат из одно хэша разные значения ...
|
Ну я же сразу говорил: это отдельная тема для отдельной беседы :)
Разумеется, MD5 на самом деле не является обратимой функцией. Но и абсолютно необратимой тоже не является - иногда можно по хешу восстановить начальные данные. Либо не начальные, а какие-то совершенно другие данные с тем же самым хешем. Что в плане взлома пароля или подделки подписи, почти однофигственно. Кстати, синус тоже для разных параметров может вернуть одинаковые значения. А арксинус возвращает только одно. И ничего, как-то вертимся же... |
Цитата:
Поэтому храня не только хеш чистого пароля, а еще и хеш суммы пароля с ключевым словом, мы получаем уже два хеша, и тут коллизия не поможет. |
Ну, ну я так и знал, что разговор обязательно уйдёт в русло секьюрности... Я то просто обрисовал, как всё примерно работает, чтобы автор знал, куда копать и по каким ключевым словам искать.
А уж как хранить пароли - это оооочень большая тема. Ей не то, что отдельного топика - ей отдельного форума мало будет. P.S. Вариант md5(pass) + md5(pass+salt) тоже имеет недостаток. Взлом первого хеша может упростить взлом второго (если мы нашли то самое слово). Кроме того, вероятно существует (но возможно пока неизвестен) алгоритм, который может восстанавливать сразу из двух хешей, благо это даёт нам больше информации. P.P.S. В IPB, если я не ошибаюсь, используется md5(md5(pass)+md5(salt)) |
Цитата:
Если нет, то это значит, что получив слово PASS2 из HASH1 (хотя оригинал был PASS1) и добавив к нему ключевой слово KEY (PASS2+KEY), вы получите HASH3. Хотя PASS1 + KEY дадут HASH2. Где бы взять два слово дающих коллизию для проверки? :D Цитата:
Код:
В IPB, если я не ошибаюсь, используется md5(md5(pass)+md5(salt))Вывод один. Храня пароль не как хеш первого порядка, вы ставите злоумышлинников в тупиковое положение, так как не зная алгорим сохранения, а они даже теоретически не смогут получить из хеша пароль. |
Цитата:
Даже если брать банальный брутфорс - количество вариантов у нас уже резко сокращается, так как мы знаем часть исходной строки. Я не знаю, как работает rainbow hack, но не исключено, что информация о некоторой части исходного слова ему может здорово помочь. Цитата:
А если знают, то автоматически они знают, что у нас 1-й символ равен 33-му, 2-й символ равен 34-му и т.д. Кроме того, они знают, что у нас используются только цифры и буквы a, A, b, B, c, C, d, D, e, E, f, F. Таким образом по крайний мере "верхний" md5 сковырнуть уже будет проще. --------------- Хотел поискать в гугле примеры коллизий MD5. Два коротких слова, состоящих из ASCII символов не нашёл, зато нашёл исходник генератора коллизий: http://www.stachliu.com/md5coll.c |
Цитата:
Допустим 1. Пароль был WORD1. У вас есть HASH1 и HASH2. Задача: выяснить значение WORD1 2. md5 (WORD1) = HASH1 md5 (WORD2) = HASH1 И заметьте, WORD1 и WORD2 могут быть различной длины. 3. (если это действительно так, иначе смысла разговор не имеет на эту тему) md5 (WORD1 + KEY) = HASH2 md5 (WORD2 + KEY) = HASH3 Однако из HASH1 можно получить только WORD2 (при условии, что идет узнавание именно через обратимость, у нас ведь не числа чтобы был корень из дискриминанта дающий два различных корня в квадратном уровнении, поэтому вы получаете только один вариант) Теперь у вас есть WORD2 и HASH2. Только толку то? Посомтрите на пункт 3. Знание WORD2 ни как не приблизило вас к узнаванию WORD1, у вас из трех значение WORD1, KEY и HASH2, есть только HASH2. А для вычисления KEY через WORD2, надо знать значения HASH3. Но его у вас нет, и будет (понято почему?) |
Ну я сразу же заметил:
Цитата:
Если же нашли WORD2 - значит нам крупно неповезло. Действительно крупно, потому что вероятность такого события крайне мала. Кстати, на plain-text, насколько я понял, ищут строки ограниченной длины и состоящие из ограниченного набора символов. Поэтому всегда или находят WORD1, или не находят ничего. ------------ Ну да ладно. Тема это вечная. Я сразу сказал, что md5(pass) - это примитивнейший вариант. Действительно md5(pass+key) - это уже гораздо лучше. А md5(md5(md5(pass)+md5(pass+key))+md5(key)) - это совсем здорово. А если md5 заменить на sha1 - то совсем супер. Вот только я так и не понял, чем шары хуже кукисов, если во всём, кроме способа хранения на компе юзера, принцип один и тот же :) |
Так в том то и дело, что вероятность найти WORD1 ничтожна мала (на один хеш можно приходиться 1000, 10000, 100000 и тп коллизий ). Из WORD1...WORDN имеющих одинаковый хеш, можно получить только одно слово. А как узнать другие?
|
| Часовой пояс GMT +4, время: 08:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.