|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
Spiker |
|
|||
Опытный Профиль Группа: Участник Сообщений: 265 Регистрация: 25.5.2005 Где: Спортзал Репутация: -2 Всего: -2 |
Я думаю о том как разработать генератор случайных чисел для купонов. Купоны будут позже приобретены в магазине.
при генерации надо выбрать год, какой раз производиться генерация и количество чисел с генерировать Мы выберем год - 1994 производство - 6 количество карт - 9000 Мне предложили один метод чтобы случайное число выглядело следушим образом: год-какой раз производится генерация-количество чисел (одно из чисел 0 до числа которое было выбрано пользователем)-случайное число 1994-6-5312-3 - пример число которое было бы произведено Мне интересны ваше мнение на сколько по вашему мнению это число будет случайным так по моему мнению это число будет довольно легким для отгадки. Имея знания о том какие код есть на картах можно будет по идеи его легко отгадать. год будет использоваться тот что сейчас, то есть 2013. (6) - это число минимум 1, х>0 следующее число до 4 чисел от 0 до 9999 (max количество карт) после это случайное число, одна цифра. по моему мнению это можно будет отгадать. пользователь сможет ввести не правильное уникальное число в систему 3 раза после чего блокировка на 15 минут. Это сообщение отредактировал(а) Spiker - 29.6.2013, 11:11 -------------------- Даваите жить дружно! (Леопольд.) :shy67: |
|||
|
||||
SergV |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Такого типа ключи купонов разгадать можно, и блокировка тут не поможет. Для веб купонов должна быть индивидуальная привязка к получателю купона, плюс к примеру с привязкой по времени и при активации с блокировкой.
По сути как я думаю, получатель должен просто получать на емайл ссылку с ключом, где будет закодированы номер, время и данные получателя. В таком случае, что бы подделать такую ссылку нужно будет знать кому отправлена ссылка, и в каком формате. Реализовать такое можно по принципу - номер купона(00039463) + время(01.04.2013 06:22:34) + имя или id получателя(Иван Иванов Иванович | 4524). Всё это скажем шифруем в MD5, можно с солью, при этом последовательность можно сделать случайной, сохраняем ссылку в базу, и шлём её ссылкой или кодом получателю. Получатель может воспользоваться ссылкой, или вставить в нужное поле на сайте присланный код. Подделать такое будет не реально, так как кроме номера купона и даты, нужно будет ещё знать и время с точностью до секунды, и полное имя клиента или его ид. Тут только взлом сайта и доступ к базе позволит получить список MD5 ключей, что не каждый сможет сделать.. Минус такого подхода, длинный код MD5 шифрования. Его можно укоротить используя укороченные данные типа 39463 + 010413 062234 + ИИИ(4524), но это всё равно в сравнении с 1994-6-5312-3 длинней будет, но намного надёжней. Может ещё есть какие варианты, но в голову пока не приходят. :) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
IZ@TOP |
|
||||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Генерируйте номер купона при его выдаче. Таким образом можно сделать достаточно короткий и неугадываемый код.
Для случайности можно ввести серию номера купона и ограничить его срок действия. Вот пример, в котором серия купона меняется каждый месяц и может быть действительно до повторения 52 цикла.
Таким образом будем иметь что-то вроде таких номеров, отгадать которые нереально при ваших объемах купонов:
Учтите, что в данном примере купоны регистрозависимы ;) И еще, для защиты от дубликатов рекомендую в цикле генерировать с проверкой на совпадение серии в пределах цикла. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||
|
|||||
alfaclub |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 2.7.2013 Где: RU Репутация: нет Всего: нет |
да уж.
|
|||
|
||||
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |