@StynuBlizz

Как безопасно хранить информацию о балансе счета в бд?

Как хранить такую информацию, изначально думал сделать по простому создав таблицу users со столбцами
Всякие | данные | ... | BALANCE
Где в BALANCE храниться обычное int-вое число с обозначение баланса, и при определенных действия это баланс бы изменялся. Но мне интересно как обезопасить данные, от редактирования администратором БД (если он такой злой и решил накрутить допустим себе на баланс денег и вывести их):), вобщем как данные охраняют от такого редактирования?
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 3
@ralaton121
А если все упирается в одно единственное поле которое может самопроизвольно изменится и вы даже не ведете списка операций, чтобы сверить соответствует ли сумма в этом поле сумме всех операций - то, конечно, такая система никак не защищена.

И даже не от злодея, а от простого программного сбоя не защищена.

1. Контрольные суммы. При изменениях будет видно. Естественно к алгоритму расчета контрольных сумм у админа не должно быть доступа.

2. Договор на бумаге. Будет отвечать за последствия.

3. Зашифрованная БД. То есть он админит её файлами, но не может админить содержимое.

4. Логи со всеми операциями прихода и расхода денег со счета, где ведется баланс, сохраняются отдельно и время от времени сверяются с остатками баланса. Должно сходиться всегда.

5. Распечатка баланса (это такая весьма и весьма компактная таблица) и сохранение их в месте недоступном админу. Это баланс переходящий из даты в дату, то есть невозможно скорректировать так чтобы не видно было. Если убавит баланс в одном месте, то должен прибавать в другом - чтобы итог сохранился. Как сделать чтобы было видно, что человек исправил баланс в этом другом месте - вопрос не технический.

6. Все уже придумано до нас - называется двойная бухгалтерская запись.
В Европе известна с 15 века.
А в Америке - и того раньше, еще инки знали.

Например, ты не можешь взять деньги из касса, потому что кассир засечет и на тебя настучит (если кассир этого не сделает, то недостачу повесят на кассира).
Если же ты взял деньги из кассы и изменил кассовый отчет, чтобы кассир этого не заметил, то изменится баланс других счетов.

7. Я даже встречался на практики, когда админа не подпускали к серверу физически. И интернета на сервере не было.
Он сидел на противоположенном конце комнаты и рассказывал человеку (доверенному лицу) - какие файлы куда скопировать и т.д.
Ответ написан
opium
@opium
Просто люблю качественно работать
Трудовой договор и полиция.
Собственно если я администрирую сервер и имею прямой рут доступ то сложно будет меня от этого остановить технически.
Ну и можно например хранить сумму всех денег и отдельно ставить сколько ввели и вывели и блочить систему в случае расхождения, вероятно администратор не сечет что пишут в коде. Программисты.
Ответ написан
@f9k56
Можно хранить базу на другом сервере. Доступ к базе только с определённых ip. Возможно ещё что то, и риск станет слишком высок. А можно просто повысить зарплату админу до приемлемого уровня или работать с ним за процент прибыли. Это будет намного надежнее. Если к человеку относиться как к человеку он не стремится уйти в лес.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы