Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 30.05.2010, 19:57
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Вопрос о том, как не пустить перехватчика куков, не стоял.
Другое дело, что если хранить пароль в простом md5 (или, о ужас, не хэшируя), его можно подобрать, используя радужные таблицы, что представляет большую опасность, чем взлом аккаунта.

Не дать перехватчику куков авторизовать можно только привязав аккаунт к IP.
Ответить с цитированием
  #22 (permalink)  
Старый 31.05.2010, 01:30
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от B@rmaley.e><e
Вопрос о том, как не пустить перехватчика куков, не стоял
зачем тогда в этой теме все пытаются хранить в куках что то странное, а не логин/пароль в чистом виде?

Сообщение от B@rmaley.e><e
о ужас, не хэшируя
хорошо, еще раз: если хеш дает доступ к аккаунту наравне с парой логин/пароль, то какая разница? Или у вас защита по принципу "захешировать/зашифровать все что возможно, а разбираться потом будем"?

Сообщение от B@rmaley.e><e
Не дать перехватчику куков авторизовать можно только привязав аккаунт к IP
речь о запоминании между сессиями, верно (по крайней мере я только об этом спрашивал) ? IP между сессиями меняется, опять же не понимаю какая польза от него здесь. К тому же на одном IP может быть несколько пользователей.

Последний раз редактировалось Riim, 31.05.2010 в 01:34.
Ответить с цитированием
  #23 (permalink)  
Старый 31.05.2010, 06:23
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Повторяю: если в куках будет хэш пароля, этот пароль можно будет восстановить (брут, радужные таблицы). Потеря пароля страшнее потери аккаунта.

Сообщение от Riim
IP между сессиями меняется, опять же не понимаю какая польза от него здесь.
Вот именно. Поэтому толку от привязки мало. Разве что привязывать к подсети.
Ответить с цитированием
  #24 (permalink)  
Старый 31.05.2010, 11:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Riim
если хеш дает доступ к аккаунту наравне с парой логин/пароль, то какая разница?
Не наравне. Особо важные операции обычно требуют повторного ввода пароля, как например, его смена. Опять же, сессия может и умереть, в отличие от логина/пароля.
Ответить с цитированием
  #25 (permalink)  
Старый 31.05.2010, 14:39
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
Не наравне. Особо важные операции обычно требуют повторного ввода пароля, как например, его смена
да, верно, как то я не подумал об этом, получается, что взломщик получит доступ к аккаунту, но не сможет лишить настоящего владельца этого доступа (раз уж пароль ему не сменить). Настоящий владелец вернется, все поправит (насколько сможет) и сменит пароль .

Сообщение от Kolyaj
Опять же, сессия может и умереть
речь про запоминание между сессиями.
.... вообще то .... .... короче я понял, в чем фишка айдишника предложенного B@rmaley-ем: злодей по нему так же может авторизоваться, на этом этапе разницы никакой, но вот дальше-то я ничего не продумывал, а дальше так: злодей авторизуется, id меняется и записывается ему в куки, теперь злодей может спокойно заходить на чужой аккаунт, id при этом каждый раз в куках и в базе меняется, дальше приходит настоящий владелец, зайти по id не может, т. к. у него остался старый id, вводит пароль, id опять новый и у злодея он уже устарел, если он не имеет возможности второй раз добыть новый id, то он отдыхает. Нужно только id делать не совсем случайный, а случайный из незанятых.

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

Плюсы варианта с логином в куках:
1. нет мизерной вероятности попадания взломанного пользователя на случайный аккаунт. (Вероятность настолько ничтожна, что можно не считать.)
2. хеши вместо чистых id в базе. (Тоже можно не считать, почему объяснил выше.)
3. если id не подошел, то можно поле "логин" из куков заполнить. (Хоть что-то значимое.)
4. раз сервер знает логин из куков, он может предупредить пользователя id которого не подошел, что на его аккаунт заходили с другого компа. (Вот это действительно значимый плюс.)

Минусы варианта с логином в куках:
1. логин в куках в чистом виде. (Можно не считать, т. к. в варианте без логина в куках увидеть этот логин тоже не проблема.)




Чуваки, я был неправ, каюсь, спасибо, что заставили думать дальше авторизации.

UPD: афигеть, понаписал.

UPD2: сорри, плюсы не ставятся, для Kolyaj понятно почему, недавно добавлял, а вот почему B@rmaley-ю не хочет ставить, загадка.

Последний раз редактировалось Riim, 31.05.2010 в 14:52.
Ответить с цитированием
  #26 (permalink)  
Старый 31.05.2010, 15:01
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Riim
Нужно только id делать не совсем случайный, а случайный из незанятых.
Зачем контролировать случайность, когда можно сделать такой id, какой нужно? Возьмем мешанину из
md5($login . $ip. microtime() . mt_rand() /* добавить еще переменных по вкусу */)

Если только защищаться от коллизий md5...
Ответить с цитированием
  #27 (permalink)  
Старый 31.05.2010, 15:22
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от B@rmaley.e><e
Если только защищаться от коллизий md5
да, я про это как раз.
Ответить с цитированием
  #28 (permalink)  
Старый 31.05.2010, 15:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B@rmaley.e><e
Если только защищаться от коллизий md5...
Это слишком маловероятная вещь, чтобы от неё защищаться.
Ответить с цитированием
  #29 (permalink)  
Старый 31.05.2010, 15:36
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
Это слишком маловероятная вещь, чтобы от неё защищаться
для меня лучше когда на 100% .
Ответить с цитированием
  #30 (permalink)  
Старый 31.05.2010, 16:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Riim,
преждевременная оптимизация это называется.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация полей - сравнение полей пароль olva Элементы интерфейса 7 01.02.2010 20:54
Работа с cookie ? Andrei Общие вопросы Javascript 3 10.11.2009 19:39
Небольшой скрипт для контакта - логин man Элементы интерфейса 2 22.08.2009 13:53