Защитить get-параметры от подделки

118
06 января 2020, 02:50

На партнерском сайте пользователь заполняет и отправляет форму с параметрами order, email и amount на сайт оплаты заказа (в order хранится номер заказа).

После успешной или неудачной транзакции сайт оплаты перенаправляет пользователя по ссылке вида: [домен]/result?order=[номер заказа]&status=[success|refusal]. На основании этой ссылки на партнерском сайте заказ отмечается оплаченным или отмененным.

Что в этой логике я делаю не так? Есть ощущение что безопасность тут хромает, так как если пользователь знает номер заказа, то он может вручную через GET запросы отметить заказ как "оплаченный". Как обычно такое делают?

Answer 1

Обычно, в таблицу с заказами, вносится также токен для этого заказа. Генерируется он с нескольких пользовательских параметров. Если клиентская машина не меняется за период оплаты, то ничего не стоит сгенировать тот же токен еще раз.

READ ALSO
MODX revo как передать файл с формы через phpmailer

MODX revo как передать файл с формы через phpmailer

Собственно есть сайт на MODX revoЕсть форма с которой пользователь может отправлять помимо своих данных еще и файл

140
Не устанавливаются кукис

Не устанавливаются кукис

При авторизации не хочет запоминаться логин с помощью куки, написал все верно, но вот единственная строчка с setcookie('login', $_POST['login'], time()+3600*24*30*12*20);...

149
Обращение к базе данных из класса

Обращение к базе данных из класса

Всем привет! Подскажите такой моментНа сколько плохой практикой является передавать как параметр $link = mysqli_connect($host, $user, $password, $database) в класс

139
Не загружается файл

Не загружается файл

Всем приветПодскажите, куда делся файл? Название файла в базу записывается

125