Гриша К.
Новичок
Принцип аукциона: у клиента есть счет в БД, он может изменять ставки. Безопасность?
Есть две таблицы:
-----------------------------------------------------------
(1) Customers (customerid, customer, password, e-mail, account)
CREATE TABLE `customers` (
`...`
`account` decimal(10,2) default NULL,
PRIMARY KEY (`customerid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Где account - счет клиента, на который также предполагается автоматически записывать суммы, который клиент будет перечислять при помощи электроных систем оплаты (пока предполагается только ручное внесение суммы администратором по платежке)
-----------------------------------------------------------
(2) Orders (orderid, customerid, productid, worldid, countryiso, cityid, objekt, signature, amount, status, date)
CREATE TABLE `orders` (
`...`
`amount` decimal(10,2) default NULL,
`...`
PRIMARY KEY (`orderid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Где amount - ставка клиента по данному объекту
-----------------------------------------------------------
При увеличении ставки (amount), со счета списывается разница между новой и старой ставкой, к примеру если текущая ставка 1.00, и пользователь изменяет ее на 1.25, то со счета списывается 0.25.
Уменьшение ставки запрещено.
Вопросы:
[1] Так как я первый раз сталкиваюсь с необходимостью предоставления счета в БД для клиента, я хотелбы узнать нет ли каких-то особых требований к такой организации: например при создании таблиц в БД, или при операциях по изменению счета (например когда со счета списывается какя-то сумма).
[2] Если уменьшение ставки будет разрешено, то соответсвенно та часть на которую она была уменьшена будет прибавляться к счету. При такой реализации не возникает ли острая опасность того, что клиент может повысить счет на сколько захочет, нужны ли какие-то осбые меры предосторожности (не считая использования функции mysql_real_escape_string или intval, хотя у числа 0.00 при обработке функции intval не записываются, и я использую mysql_real_escape_string).
-~{}~ 21.03.06 21:08:
Администраторы, ответте пожалуйста, почему вы перенесли тему в офтоп.
Вы перенесли ее потому что, нет никакой необходимсоти в особо организации БД, при тако задаче?
Или подскажите мне какже сократить этот вопрос, чтобы его не убирали в офтоп.
Жду ответа!
Есть две таблицы:
-----------------------------------------------------------
(1) Customers (customerid, customer, password, e-mail, account)
CREATE TABLE `customers` (
`...`
`account` decimal(10,2) default NULL,
PRIMARY KEY (`customerid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Где account - счет клиента, на который также предполагается автоматически записывать суммы, который клиент будет перечислять при помощи электроных систем оплаты (пока предполагается только ручное внесение суммы администратором по платежке)
-----------------------------------------------------------
(2) Orders (orderid, customerid, productid, worldid, countryiso, cityid, objekt, signature, amount, status, date)
CREATE TABLE `orders` (
`...`
`amount` decimal(10,2) default NULL,
`...`
PRIMARY KEY (`orderid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Где amount - ставка клиента по данному объекту
-----------------------------------------------------------
При увеличении ставки (amount), со счета списывается разница между новой и старой ставкой, к примеру если текущая ставка 1.00, и пользователь изменяет ее на 1.25, то со счета списывается 0.25.
Уменьшение ставки запрещено.
Вопросы:
[1] Так как я первый раз сталкиваюсь с необходимостью предоставления счета в БД для клиента, я хотелбы узнать нет ли каких-то особых требований к такой организации: например при создании таблиц в БД, или при операциях по изменению счета (например когда со счета списывается какя-то сумма).
[2] Если уменьшение ставки будет разрешено, то соответсвенно та часть на которую она была уменьшена будет прибавляться к счету. При такой реализации не возникает ли острая опасность того, что клиент может повысить счет на сколько захочет, нужны ли какие-то осбые меры предосторожности (не считая использования функции mysql_real_escape_string или intval, хотя у числа 0.00 при обработке функции intval не записываются, и я использую mysql_real_escape_string).
-~{}~ 21.03.06 21:08:
Администраторы, ответте пожалуйста, почему вы перенесли тему в офтоп.
Вы перенесли ее потому что, нет никакой необходимсоти в особо организации БД, при тако задаче?
Или подскажите мне какже сократить этот вопрос, чтобы его не убирали в офтоп.
Жду ответа!