Подтвердить что ты не робот

Почему веб-сайты имеют тенденцию использовать случайные идентификаторы: s на таблицах базы данных?

Интересно, почему многие веб-сайты предпочитают использовать случайный id: s вместо того, чтобы увеличивать с 1 на своих таблицах базы данных. Я искал, не найдя каких-либо веских причин, есть ли они?

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

Спасибо за вашу помощь!

4b9b3361

Ответ 1

Под капотом вполне вероятно, что они используют инкрементные идентификаторы в базе данных для идентификации строк, но значение, которое подвергается конечным пользователям через параметры URL, часто превращается в случайную строку, чтобы сделать последовательность доступных объектов сложнее догадаться.

Это действительно вопрос безопасности через неясность. Это препятствует автоматическим сценариям, происходящим через инкрементные значения и попыткам атак через URL-адрес, и это препятствует автоматическому очистке содержимого сайта.

Если youtube, например, использовал инкрементные идентификаторы вместо значений типа v=HSsdaX4s, вы можете скачать их каждый, просто начиная с v=1 и увеличивая это значение в миллионы раз.

Ответ 2

Последовательные идентификаторы плохо масштабируются (они становятся синхронизацией бутылочной шейки в распределенных системах).

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

Ответ 3

Вы уверены, что идентификатор случайный? или они закодированы? В любом случае это безопасно.