скрыть реальный идентификатор сущности от конечного пользователя


Я создаю приложение для электронной коммерции. Путь к порядку выглядит как /Orders/Details/{orderId}. Однако я не хочу выставлять orderId конечному пользователю. Как я могу определить порядок, не используя идентификатор базы данных? Это нужно, чтобы сгенерировать случайную строку как идентификатор GUID?

3 2

3 ответа:

Вам нужно будет назначить какой-то другой идентификатор сущности, которую вы не возражали бы видеть пользователям (какой-то альтернативный ключ).

В качестве альтернативы вы можете использовать зашифрованные или запутанные идентификаторы, и ваше приложение будет обрабатывать расшифровку или де-запутывание.

Вы на правильном пути-использование целого числа в качестве orderid может привести к силовой атаке на просмотр. Возможно, вы можете использовать GUID в качестве первичного ключа в своей базе данных.

Вы можете разместить значение на странице order/details и отправить orderID таким образом. Вы также можете иметь какую-то другую уникальную строку для заказов и использовать ее вместо этого, в зависимости от того, как вы храните данные и почему вы хотите скрыть orderID.