скрыть реальный идентификатор объекта от конечного пользователя - PullRequest
2 голосов
/ 03 сентября 2010

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

Ответы [ 3 ]

2 голосов
/ 03 сентября 2010

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

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

1 голос
/ 03 сентября 2010

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

0 голосов
/ 03 сентября 2010

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

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