Форум vBTorrents.org  
Вернуться   Форум vBTorrents.org > Движок торрент трекера VBTT > VBTT v.2.0

Фикс для удаления дубликатов пасскеев.

Ответ
 
Опции темы
Старый 14.06.2009, 02:37   #1
Аватар для Skald
Skald Skald вне форума
Администратор
Фикс для удаления дубликатов пасскеев.

Т.к. с самого начала (еще с оригинального vbtt) тянется неприятный глюк в виде вероятности получения юзерами одинакового пасскея, то выкладываю запрос для обнуления таких дубликатов (потом можно запустить passkeygen.php для генерации пасскеев где их нет).
Код:
update (SELECT count(userid) as `dubl`, max(userid) as `maxid`, torrent_pass 
FROM `user` GROUP BY torrent_pass HAVING `dubl` >  '1' ORDER BY dubl DESC) as dubl 
LEFT join `user` on(dubl.maxid=user.userid) SET user.torrent_pass='';
Что конкретно делает запрос - он обнуляет только один пасскей пользователя с максимальным userid (т.е. тот кто позже зарегистрировался) из группы одинаковых пасскеев. Т.е. если у однин и тот же пасскей встречается более 2-х раз то придется запустить еще несколько раз (но обычно не более 3 - у меня при 150К пользователей максимальное количество дубликатов одного пасскея было 4)

P.S. Если Вы не понимаете зачем этот запрос - просто забудьте об этом сообщении - дубликат пасскея ошибка некритичная - все будет работать и с ними (правда с глюками)
Ответить с цитированием
Старый 14.06.2009, 02:39   #2
Аватар для Skald
Skald Skald вне форума
Администратор
Кстати проблему в коде насчет дубликатов пасскеев уже решил - скоро выложу (следующая версия уже релиз, осталось только пару хуков прикрутить).
Ответить с цитированием
Старый 14.06.2009, 04:32   #3
Аватар для Ramzes
Ramzes Ramzes вне форума
Любитель
Сообщение от Skald Посмотреть сообщение
следующая версия уже релиз, осталось только пару хуков прикрутить
Ура! Ждемс)))
Ответить с цитированием
Старый 18.06.2009, 15:55   #4
Аватар для UnFeeLing
UnFeeLing UnFeeLing вне форума
Любитель
Сообщение от Skald Посмотреть сообщение
Кстати проблему в коде насчет дубликатов пасскеев уже решил - скоро выложу (следующая версия уже релиз, осталось только пару хуков прикрутить).
при перезаписи продукта, проблема исправиться?
и будет ли импортирован долгожданный зброс паскея и их генерация...?(с админки)

Последний раз редактировалось UnFeeLing; 18.06.2009 в 16:11.
Ответить с цитированием
Старый 18.06.2009, 16:55   #5
Аватар для Skald
Skald Skald вне форума
Администратор
Сообщение от UnFeeLing Посмотреть сообщение
при перезаписи продукта, проблема исправиться?
да исправится.
Сообщение от UnFeeLing Посмотреть сообщение
и будет ли импортирован долгожданный зброс паскея и их генерация...?(с админки)
в админке как генерация так и сброс (одно и тоже ведь) достаточно просто будет в редактировании пользователя или удалить полностью или просто сделать невалидный пасскей - он автоматом будет перегенерирован на валидный.
Т.к. работу с пасскеем полностью переписал под юзер датаменеджер булки (теперь нет прямых запросов), то все доп.скрипты тоже надо переписывать под dm_user.
Ответить с цитированием
Старый 18.06.2009, 21:38   #6
Аватар для UnFeeLing
UnFeeLing UnFeeLing вне форума
Любитель
так а я почему то не пойму, почему passkeygen.php сгенерировал уже на базу одинаковые passkey для нескольки юзеров?это ошибка не самого скрипта генерации?или же ошибка дето в скрипте?
з.ы а когда релиз?:)это будет финал либо продолжаем тестировать? =)
Ответить с цитированием
Старый 18.06.2009, 23:05   #7
Аватар для Skald
Skald Skald вне форума
Администратор
Сообщение от UnFeeLing Посмотреть сообщение
так а я почему то не пойму, почему passkeygen.php сгенерировал уже на базу одинаковые passkey для нескольки юзеров?это ошибка не самого скрипта генерации?или же ошибка дето в скрипте?
принцип работы скрипта пасскейген: он генерирует произвольный ключ для пользователя где ключ не установлен. Но хоть шанс и небольшой что ключ совпадет с любым из существующих, но все-же достаточно реальный при большом количестве пользователей.
Сообщение от UnFeeLing Посмотреть сообщение
з.ы а когда релиз?:)это будет финал либо продолжаем тестировать? =)
по идее очень скоро и надеюсь что финал. Насчет тестирования - был бы нормальный тест, выловил бы давно все ошибки, а так пока сам не столкнусь не исправлю.
А если в программе нет ошибок если она ничего не делает :)))
Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход