вроде бы задача то не сложная, но сплю 2 часа в день, сессия...

Спустя 5 минут, 10 секунд (28.12.2010 - 01:54) gregor78 написал(а):
пусть юзеры сами себе id придумывают
Спустя 1 минута, 55 секунд (28.12.2010 - 01:56) gregor78 написал(а):
или 12login92 (т.е месяц рожд.логин.год рождения)
Спустя 8 минут, 24 секунды (28.12.2010 - 02:05) Sanchopansa написал(а):
А чем тебя собственно проверка в базе то смущает? Это всего лишь один маленький запрос... Твой вариант с временем ИМХО очень хорош.. да и повторения будут не частые...
а еще вот.. чтоб не выдумывать велосипед
http://php.net/manual/en/function.uniqid.php
а еще вот.. чтоб не выдумывать велосипед

http://php.net/manual/en/function.uniqid.php
Спустя 4 месяца, 20 дней, 16 часов, 55 минут, 39 секунд (18.05.2011 - 18:00) Gradus написал(а):
и так пришло время действовать 
сначало надо выдавать рандомные 6-значные номера, т.к. выдавать сразу длинные номера не ахти.Поиск по базе, после каждой активации акаунта уник ключа не известное количество раз, как то не хочеться
Можно сделать конкатенацию id юзера и время активации , но опять же огромные числа будут.
интересно как это сделано в icq

сначало надо выдавать рандомные 6-значные номера, т.к. выдавать сразу длинные номера не ахти.Поиск по базе, после каждой активации акаунта уник ключа не известное количество раз, как то не хочеться

Можно сделать конкатенацию id юзера и время активации , но опять же огромные числа будут.
интересно как это сделано в icq
Спустя 5 минут, 32 секунды (18.05.2011 - 18:06) Krevedko написал(а):
гм
ну бери последние 6 цифр от сгенерированных функцией time.
и вперед букву a
как только предыдущее значение станет превышать текущее, значит пошел второй виток времени
ставь букву b.
кто-нибудь посчитает, на сколько месяцев хватит такого скрипта ? )
ну бери последние 6 цифр от сгенерированных функцией time.
и вперед букву a
как только предыдущее значение станет превышать текущее, значит пошел второй виток времени

ставь букву b.
кто-нибудь посчитает, на сколько месяцев хватит такого скрипта ? )
Спустя 9 минут, 4 секунды (18.05.2011 - 18:15) Gradus написал(а):
я твоя не понимать, как ты хочешь вытаскивать прошлое значение времени всего лишь по 4 последним цифрам (тогда точно только на месяц хватит), да и буквы зачем ? если юзеру их выдавать то нет.Надо только цифры.
Спустя 15 минут, 39 секунд (18.05.2011 - 18:31) Krevedko написал(а):
не 4 последних цифры, а 6. или даже можно 8.
а что касается последних цифр..а че substr перестал работать в пхп5 ?
а что касается последних цифр..а че substr перестал работать в пхп5 ?
Спустя 6 минут, 47 секунд (18.05.2011 - 18:37) XCross написал(а):
Че парится....
md5($login, date('Y-m-d H:i')).
И все. а потом сколько нужно(substr).
md5($login, date('Y-m-d H:i')).
И все. а потом сколько нужно(substr).
Спустя 10 минут, 20 секунд (18.05.2011 - 18:48) Gradus написал(а):
кто ни будь из вас вообще читал первый пост ?)
1)в ключе должны быть только цифры
2)ключи у юзеров не должны совпадать!
3)ключи должны быть не меньше 6 знаков, а дальше уже можно повышать (т.е. первые зарегистрировавшиеся получают 6-знаковые номера)
4)Не проверять рекурсивно базу на совпадение ключа
1)в ключе должны быть только цифры
2)ключи у юзеров не должны совпадать!
3)ключи должны быть не меньше 6 знаков, а дальше уже можно повышать (т.е. первые зарегистрировавшиеся получают 6-знаковые номера)
4)Не проверять рекурсивно базу на совпадение ключа
Спустя 12 минут, 25 секунд (18.05.2011 - 19:00) neadekvat написал(а):
Цитата (Gradus @ 18.05.2011 - 19:48) |
Не проверять рекурсивно базу на совпадение ключа |
Почему нет?
Цитата (Gradus @ 28.12.2010 - 02:49) |
Но не поочерёдные, т.к. спамщики будут рассылать всем сообщения. |
Так сделай защиту.
Спустя 9 минут, 9 секунд (18.05.2011 - 19:09) Gradus написал(а):
neadekvat, это конешно весёлое занятие переписывать каждый месяц капчу что бы чуток уменьшить поток приходящего мусора в базе и не довольствие юзеров . но мне оно как-то не подуше

Спустя 5 минут, 56 секунд (18.05.2011 - 19:15) neadekvat написал(а):
Gradus, не понимаю твоего сарказма - ведь ты на полном серьезе занимаешься тем, что придумываешь какой-то хитрый алгоритм выдачи уникального ключа, чтобы уберечь пользователей, при том, что, насколько я понял, в создаваемом сайте будут личные сообщения, а значит, и возможность найти адреса аккаунтов других пользователей.
То, что ты затеял, остановит только ленивых. Ничем не лучше каптчи.
То, что ты затеял, остановит только ленивых. Ничем не лучше каптчи.
Спустя 8 минут, 25 секунд (18.05.2011 - 19:24) Gradus написал(а):
neadekvat,ну представь зашёл любитель пообщаться и давай всем строчить начиная с админа чей id=1 и поехал выше, так же и боты.А тут придётся огромный пересчёт вести что бы проверить если из списка в котором 999999 вариантов (а их может быть из этого списка на самом деле 100) юзеры, соответсвенно с капчёй.Тут как минимум мы ограничиваемся от любителей "привет как дела,давай знакомиться" не говоря что боты номера будут не известно сколько выискивать (а ведь ещё ключ поменять можно будет) выискивать если конешно удасться.
Спустя 47 секунд (18.05.2011 - 19:25) neadekvat написал(а):
Gradus, для того, чтобы продолжить общение относительно разумности предлагаемого тобой алгоритма, надо знать, что за сайт то будет.
Спустя 2 минуты, 47 секунд (18.05.2011 - 19:27) Gradus написал(а):
neadekvat,он есть
точнее на последней стадии разработки начальной функциональности (для открытия в свет), потому что планы разрабатывать новые функционалы ещё на долгое время.Но амбиции не позволяют мне проговориться 


Спустя 2 минуты, 52 секунды (18.05.2011 - 19:30) neadekvat написал(а):
Gradus, что будет в итоге? Социальная сеть? Хотя конкретно меня интересует возможность добавлять в друзья и возможность запрета приема писем не от друзей.
Спустя 2 минуты, 32 секунды (18.05.2011 - 19:33) Gradus написал(а):
neadekvat, нет.Я думаю суть не в этом что бы придумать мне другой алгоритм, опыта достаточно что бы рациональность в алгоритмах применять
Поэтому не надо меня переубеждать или выяснять что-там за проект, что бы применить алгоритм по легче 
Как для примера это как icq выдаёт номера.
Крайняк поставлю на рекурсию, но всё же нахождение решения интерес оставляет да и предпочтительней


Как для примера это как icq выдаёт номера.
Крайняк поставлю на рекурсию, но всё же нахождение решения интерес оставляет да и предпочтительней

Спустя 7 минут, 10 секунд (18.05.2011 - 19:40) neadekvat написал(а):
Gradus, ну, раз у тебя достаточно опыта, то, я думаю, ты поймешь, что приведенные ниже два тезиса несовместимы:
1. Уникальный ключ генерируется независимо от базы данных.
2. Проверка на уникальность не осуществляется.
Этот уникальный ключ в любом случаи будет каким-нибудь индексом в бд (или тем же первичным ключом), так что запрос типа SELECT ... WHERE unique_id = {generated_id} не займет много ресурсов.
Другое дело, что ближе к концу 6-ти значных чисел будет что-то интересное..
Можно сделать совсем интересно - сохранить куда-нибудь все числа от 100000 до 999999, рандомно выдавать пользователю номер из промежутка и удалять этот номер. Т.е. он больше никому не выпадет.
1. Уникальный ключ генерируется независимо от базы данных.
2. Проверка на уникальность не осуществляется.
Этот уникальный ключ в любом случаи будет каким-нибудь индексом в бд (или тем же первичным ключом), так что запрос типа SELECT ... WHERE unique_id = {generated_id} не займет много ресурсов.
Другое дело, что ближе к концу 6-ти значных чисел будет что-то интересное..
Можно сделать совсем интересно - сохранить куда-нибудь все числа от 100000 до 999999, рандомно выдавать пользователю номер из промежутка и удалять этот номер. Т.е. он больше никому не выпадет.
Спустя 2 минуты, 14 секунд (18.05.2011 - 19:42) Krevedko написал(а):
второй вконтакт пишет. не иначе
Спустя 4 минуты, 13 секунд (18.05.2011 - 19:46) Gradus написал(а):
neadekvat, ошибаешься как для примера уник ключ можно сделать совмещая 1 и 2 пункт дав значение времени, проверка не нужна и из базы ничё не тащим.А если применить ещё и char , то уж молчу 
Ладно оставил пока как я выше написал, но если кому идея придёт в голову сообщеите
Krevedko, я оценил твой сарказм
жаль не угадал

Ладно оставил пока как я выше написал, но если кому идея придёт в голову сообщеите

Krevedko, я оценил твой сарказм

Спустя 2 минуты, 8 секунд (18.05.2011 - 19:48) neadekvat написал(а):
Gradus, ну и бери тогда time() :)
Спустя 1 минута, 45 секунд (18.05.2011 - 19:50) Gradus написал(а):
neadekvat, ну блин опять заного
он же длинный
я бы не хотел что бы у меня номер был 130-573-340-3, думаю я не один такой



Спустя 1 минута, 16 секунд (18.05.2011 - 19:51) neadekvat написал(а):
Gradus, высчитывай от него md5, убирай все буквы и получишь цифры. Правда, на всякий случай все равно придется проверить :)
Спустя 2 минуты, 17 секунд (18.05.2011 - 19:54) Gradus написал(а):
neadekvat, да это можно и рандомно просто цифры выдавать

Спустя 2 минуты, 5 секунд (18.05.2011 - 19:56) neadekvat написал(а):
Цитата (Gradus @ 18.05.2011 - 20:54) |
да это можно и рандомно просто цифры выдавать |
Но придется проверять, нет ли уже такого числа в базе, не так ли?)
Спустя 1 минута, 33 секунды (18.05.2011 - 19:57) Gradus написал(а):
есесено

Спустя 1 минута, 6 секунд (18.05.2011 - 19:58) Krevedko написал(а):
если брать time последние цифры, то месяц-это уже семизнак :/
Цитата |
Krevedko, я оценил твой сарказм |
не вижу плюсика в карме )))
Спустя 3 минуты, 26 секунд (18.05.2011 - 20:02) Gradus написал(а):
Цитата |
не вижу плюсика в карме ))) |
тогда и мою подпись выполни

Спустя 45 секунд (18.05.2011 - 20:03) neadekvat написал(а):
Цитата (Gradus @ 18.05.2011 - 21:02) |
тогда и мою подпись выполни |
А вот это зачет

Спустя 23 минуты, 32 секунды (18.05.2011 - 20:26) Krevedko написал(а):
перевел все, что было на R кошельке
Спустя 23 минуты, 16 секунд (18.05.2011 - 20:49) Gradus написал(а):
я смотрю плюсы можно продавать, бизнес построить 
ладно + за рубль

ладно + за рубль

Спустя 8 минут, 42 секунды (18.05.2011 - 20:58) neadekvat написал(а):
Свернутый текст
Цитата (Krevedko @ 18.05.2011 - 21:26) |
перевел все, что было на R кошельке |
Как же ты жаждешь получить Эксперта. На растерзанье, конечно.
Спустя 4 минуты, 25 секунд (18.05.2011 - 21:03) Krevedko написал(а):
ага ))
реально все что было перевел. у меня теперь R кошелек пуст. все на Z-ке
реально все что было перевел. у меня теперь R кошелек пуст. все на Z-ке
_____________
ДАВАЙ ДЕНЬГИ
R543264623869