Форум

Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

Двойные транзакции

Страница 1 из 25Далее

Всем привет, нужен совет бывалых,
Как Вы защищаетесь от двойных транзакций! То есть пользователь может отправить одну форму в одно и тоже время, но с баланса спишется к примеру одна сумма!

Пример:
У юзера на балансе 1 руб, он отправляет второму юзеру этот рубль, но нажав одновременно два раза на кнопку, с него спишется 1 руб, а второму юзеру зачислится два рубля,

Вот и сам вопрос как можно от этого защитится?

За ранее спасибо!

Цитата: ra4ok14
а второму юзеру зачислится два рубля


Оооо это плохо, самому интересно!

ra4ok14,
так не бывает, одновремено не отсылается ничего, разница есть хоть и в милисекундах. Но ищи дыру.

Pretorian,
По логам и транзакциям видно, что два одновременных запроса! Я не утверждаю что это сделано в ручную, скорее всего бот.
Но факт остается тем что именно одновременные транзакции!

А некоторые вообще не парятся по этому поводу :wink: На 1 сервисе закинул 100 р изначально а пришло 200 :wink:

ra4ok14,
может у тебя проверка на баланс не коректная, тоесть она срабатывает до того как срабатывает второй запрос. Хз тут много может быть теорий, но это может быть обманка. Он может накручивать на чем то другом, а это в логи писать для ввода тебя в заблуждение. обясни подробней с какого на какой баланс он делает перевод, куда и кому зачисляется и дублируется и что это за функция

Цитата: trolleybus
А некоторые вообще не парятся по этому поводу :wink: На 1 сервисе закинул 100 р изначально а пришло 200 :wink:


может там акция на пополнение ))) новости читал?

Pretorian,
Смысл такой!
Есть модуль перевода средств между юзерами! Есть минимальная сумма перевода(проверка стоит), Есть проверка на доступный баланс и достатка средств на счете!
Юзер вписывает в форме ИД второго юзера которому он хочет передать деньгу, и сумму, потом идет проверка на минималку, потом проверка на достаток средств на балансе, так же присутствует проверка на существование юзера! После всего этого если все нормально, то происходит сначала списание средств с юзера_1, потом зачисление юзеру_2! Следом идет запись в логи что был перевод от юзера_1 к юзеру_2 на такую сумму, и собственно дата в Unix формате!

Таких логов сотни, разница между парами логов 1-2 сек, каждая пара логов(тоесть за каждый перевод 2 лога) имеет одну и туже дату в точности до секунды

ra4ok14,
надо код смотреть

а не тот ли это плагин перевода денег между юзерами для буксов поколения эдита что им барижили ???

Цитата: Pretorian
может там акция на пополнение ))) новости читал?


Щас проверил , нету подобных новостей. Но довольно странная штука с пополнением для сервиса регистраций доменов ))))

Pretorian,
Нет это писал я сам!
Вот метод класса отвечающий за это
http://pastebin.com/c3hgnMMr

А вот и сам метод модели
http://pastebin.com/PeUN1QMF

Страница 1 из 25Далее
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля