HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #2  
Старый 04.06.2015, 03:43
newbie67
Новичок
Регистрация: 09.05.2015
Сообщений: 4
С нами: 5797046

Репутация: 0
По умолчанию

Да собственно кода-то чуть чуть) Держите. Вроде закрыл уязвимость при помощи APC, но интерес остался. Можно ли?

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]# Снимаем сумму перевода с баланса юзера
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]model[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]findByPk[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]Yii[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]app[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]balance[/COLOR][COLOR="#007700"]-=[/COLOR][COLOR="#0000BB"]$model[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]sum[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]# Снимаем комиссию перевода с баланса юзера (если имеется)
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$transfer[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'commission'[/COLOR][COLOR="#007700"]] !=[/COLOR][COLOR="#DD0000"]'0'[/COLOR][COLOR="#007700"])
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]balance[/COLOR][COLOR="#007700"]-=[/COLOR][COLOR="#0000BB"]$transfer[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'commission'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#FF8000"]# Сохраняем данные пользователя
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]# Добавляем другому юзеру баланс
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]model[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]findByPk[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$model[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]idUserTo[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]balance[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]$model[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]sum[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]# Сохраняем данные пользователя
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
Я так понимаю, вот этот участок кода(снятие баланса у Алисы)

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]# Снимаем сумму перевода с баланса юзера
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]model[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]findByPk[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]Yii[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]app[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]balance[/COLOR][COLOR="#007700"]-=[/COLOR][COLOR="#0000BB"]$model[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]sum[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]# Снимаем комиссию перевода с баланса юзера (если имеется)
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$transfer[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'commission'[/COLOR][COLOR="#007700"]] !=[/COLOR][COLOR="#DD0000"]'0'[/COLOR][COLOR="#007700"])
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]balance[/COLOR][COLOR="#007700"]-=[/COLOR][COLOR="#0000BB"]$transfer[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'commission'[/COLOR][COLOR="#007700"]];[/COLOR][/COLOR
Успевает выполниться дважды. Но почему следующий за ним код (начисление баланса Бобу) не успевает? И можно ли сделать, чтобы как раз только он и успевал
 
Ответить с цитированием
 





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


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




ANTICHAT ™ © 2001- Antichat Kft.