Как защитить / проверить параметры GET - PullRequest
0 голосов
/ 29 марта 2019

Операция GET предназначена для извлечения ресурса. И это прекрасно, но есть ситуации, когда вы хотите, например,

/: ACCOUNTID / сделки

Теперь, если аутентификация и авторизация уже есть, как я могу гарантировать, что кто-то не будет угадывать: accountID другого пользователя и получать транзакции, которые не принадлежат его учетной записи?

Есть ли какое-либо решение помимо внутренней проверки accountID?

Я не могу перейти с GET на POST, также не могу использовать заголовки, так как API уже определен и принят заказчиком.

Ответы [ 2 ]

2 голосов
/ 29 марта 2019

Вы можете создать токен аутентификации для проверки запроса каждый раз, при создании токена необходимо использовать username или userid, который представляет пользователя в нем.
Во-вторых, при проверке токена вы можете проверить, что accountID принадлежит пользователю, чье имя / идентификатор совпадает, иначе вернет ошибку в ответ.
Таким образом, из-за совпадения accountId с идентификатором / именем накладные расходы могут быть решены.
Ура !!

0 голосов
/ 29 марта 2019

Я думаю, вы можете попробовать с пользовательской хэш-логикой для идентификатора учетной записи. Та же самая хэш-логика может использоваться на стороне сервера для получения фактического значения. Таким образом, вы можете защитить прямой способ угадывания идентификатора учетной записи пользователем.

Примечание. Я предлагаю вышеуказанный подход вместе с проверкой идентификатора внутреннего счета.

например: если идентификатор учетной записи: 1000, то хеш-код 9888 на стороне сервера сопоставляет его с реальными значениями. (Вы можете увеличить сложность хеширования)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...