Двойные транзакции
Цитата: WmRush от 03.01.2017, 14:48Всем привет, нужен совет бывалых,
Как Вы защищаетесь от двойных транзакций! То есть пользователь может отправить одну форму в одно и тоже время, но с баланса спишется к примеру одна сумма!Пример:
У юзера на балансе 1 руб, он отправляет второму юзеру этот рубль, но нажав одновременно два раза на кнопку, с него спишется 1 руб, а второму юзеру зачислится два рубля,Вот и сам вопрос как можно от этого защитится?
За ранее спасибо!
Всем привет, нужен совет бывалых,
Как Вы защищаетесь от двойных транзакций! То есть пользователь может отправить одну форму в одно и тоже время, но с баланса спишется к примеру одна сумма!
Пример:
У юзера на балансе 1 руб, он отправляет второму юзеру этот рубль, но нажав одновременно два раза на кнопку, с него спишется 1 руб, а второму юзеру зачислится два рубля,
Вот и сам вопрос как можно от этого защитится?
За ранее спасибо!
Цитата: Pretorian от 03.01.2017, 16:47ra4ok14,
так не бывает, одновремено не отсылается ничего, разница есть хоть и в милисекундах. Но ищи дыру.
ra4ok14,
так не бывает, одновремено не отсылается ничего, разница есть хоть и в милисекундах. Но ищи дыру.
Цитата: WmRush от 03.01.2017, 16:52Pretorian,
По логам и транзакциям видно, что два одновременных запроса! Я не утверждаю что это сделано в ручную, скорее всего бот.
Но факт остается тем что именно одновременные транзакции!
Pretorian,
По логам и транзакциям видно, что два одновременных запроса! Я не утверждаю что это сделано в ручную, скорее всего бот.
Но факт остается тем что именно одновременные транзакции!
Цитата: trolleybus от 03.01.2017, 16:58А некоторые вообще не парятся по этому поводу На 1 сервисе закинул 100 р изначально а пришло 200
А некоторые вообще не парятся по этому поводу На 1 сервисе закинул 100 р изначально а пришло 200
Цитата: Pretorian от 03.01.2017, 17:11ra4ok14,
может у тебя проверка на баланс не коректная, тоесть она срабатывает до того как срабатывает второй запрос. Хз тут много может быть теорий, но это может быть обманка. Он может накручивать на чем то другом, а это в логи писать для ввода тебя в заблуждение. обясни подробней с какого на какой баланс он делает перевод, куда и кому зачисляется и дублируется и что это за функцияЦитата: trolleybusА некоторые вообще не парятся по этому поводу На 1 сервисе закинул 100 р изначально а пришло 200
может там акция на пополнение ))) новости читал?
ra4ok14,
может у тебя проверка на баланс не коректная, тоесть она срабатывает до того как срабатывает второй запрос. Хз тут много может быть теорий, но это может быть обманка. Он может накручивать на чем то другом, а это в логи писать для ввода тебя в заблуждение. обясни подробней с какого на какой баланс он делает перевод, куда и кому зачисляется и дублируется и что это за функция
может там акция на пополнение ))) новости читал?
Цитата: WmRush от 03.01.2017, 17:18Pretorian,
Смысл такой!
Есть модуль перевода средств между юзерами! Есть минимальная сумма перевода(проверка стоит), Есть проверка на доступный баланс и достатка средств на счете!
Юзер вписывает в форме ИД второго юзера которому он хочет передать деньгу, и сумму, потом идет проверка на минималку, потом проверка на достаток средств на балансе, так же присутствует проверка на существование юзера! После всего этого если все нормально, то происходит сначала списание средств с юзера_1, потом зачисление юзеру_2! Следом идет запись в логи что был перевод от юзера_1 к юзеру_2 на такую сумму, и собственно дата в Unix формате!Таких логов сотни, разница между парами логов 1-2 сек, каждая пара логов(тоесть за каждый перевод 2 лога) имеет одну и туже дату в точности до секунды
Pretorian,
Смысл такой!
Есть модуль перевода средств между юзерами! Есть минимальная сумма перевода(проверка стоит), Есть проверка на доступный баланс и достатка средств на счете!
Юзер вписывает в форме ИД второго юзера которому он хочет передать деньгу, и сумму, потом идет проверка на минималку, потом проверка на достаток средств на балансе, так же присутствует проверка на существование юзера! После всего этого если все нормально, то происходит сначала списание средств с юзера_1, потом зачисление юзеру_2! Следом идет запись в логи что был перевод от юзера_1 к юзеру_2 на такую сумму, и собственно дата в Unix формате!
Таких логов сотни, разница между парами логов 1-2 сек, каждая пара логов(тоесть за каждый перевод 2 лога) имеет одну и туже дату в точности до секунды
Цитата: Pretorian от 03.01.2017, 17:20ra4ok14,
надо код смотретьа не тот ли это плагин перевода денег между юзерами для буксов поколения эдита что им барижили ???
ra4ok14,
надо код смотреть
а не тот ли это плагин перевода денег между юзерами для буксов поколения эдита что им барижили ???
Цитата: trolleybus от 03.01.2017, 17:39Цитата: Pretorianможет там акция на пополнение ))) новости читал?
Щас проверил , нету подобных новостей. Но довольно странная штука с пополнением для сервиса регистраций доменов ))))
Щас проверил , нету подобных новостей. Но довольно странная штука с пополнением для сервиса регистраций доменов ))))
Цитата: WmRush от 03.01.2017, 17:49Pretorian,
Нет это писал я сам!
Вот метод класса отвечающий за это
http://pastebin.com/c3hgnMMrА вот и сам метод модели
http://pastebin.com/PeUN1QMF
Pretorian,
Нет это писал я сам!
Вот метод класса отвечающий за это
http://pastebin.com/c3hgnMMr
А вот и сам метод модели
http://pastebin.com/PeUN1QMF