Я слышал, что раскрытие идентификаторов базы данных (например, в URL-адресах) представляет собой угрозу безопасности, но мне сложно понять, почему.
Какие-либо мнения или ссылки о том, почему это риск, или почему это не так?
РЕДАКТИРОВАТЬ: конечно, доступ ограничен, например, если вы не видите ресурс foo?id=123
, вы получите страницу с ошибкой. В противном случае сам URL должен быть секретным.
РЕДАКТИРОВАТЬ: если URL-адрес является секретным, он, вероятно, будет содержать сгенерированный токен с ограниченным временем жизни, например, действителен в течение 1 часа и может быть использован только один раз.
РЕДАКТИРОВАТЬ (месяцы спустя): моя текущая предпочтительная практика для этого состоит в том, чтобы использовать UUIDS для идентификаторов и раскрывать их. Если я использую последовательные числа (обычно для производительности на некоторых БД) в качестве идентификаторов, мне нравится генерировать маркер UUID для каждой записи в качестве альтернативного ключа и выставлять это.