Аутентификация POST-запросов - PullRequest
0 голосов
/ 16 сентября 2018

Я создаю пользовательский скрипт tampermonkey, который отправляет запрос POST с веб-сайта, содержащего высокий балл пользователя. Примерно так, например:

$.post('https://example.com/scores', {
    id: 123, high_score: 999,
});

Однако проблема в том, что пользователям очень легко подделать поддельный счет и отправить свой собственный запрос POST с поддельным high_score. Был бы способ как-то аутентифицировать эти запросы, чтобы я мог отличить реальные запросы от моего пользовательского сценария и поддельные от пользователей? Возможно какое-то шифрование / дешифрование?

1 Ответ

0 голосов
/ 16 сентября 2018

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

<input type="hidden" value="your-nonce" id="your-id">

<script>
let nonce = $("#your-id").val();
$.post('https://example.com/scores', {
    id: 123, high_score: 999,nonce
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...