Я слышал, как люди читают лекции здесь и там в Интернете, что лучше скрывать открытые идентификаторы баз данных в веб-приложениях. Я предполагаю, что они в основном означают в формах и в URL, но я никогда не читал ничего больше, чем полный рот на эту тему.
РЕДАКТИРОВАТЬ : Конечно, теперь, когда я спрашиваю это, я нахожу некоторые ресурсы по этому вопросу:
- /programming/2374538/obscuring-database-ids
- /programming/1895685/should-i-obscure-primary-key-values
- http://joshua.schachter.org/2007/01/autoincrement.html
Эти ссылки удовлетворили часть моего любопытства, но посты SO не имеют большого количества голосов и не обязательно сосредоточены вокруг темы в этом контексте, поэтому я не уверен, что с этим делать, и некоторые из них утверждают, что третье ссылка является фиктивной Я оставлю остальную часть моего поста нетронутым:
Я понимаю разницу между мраком и безопасностью, а также то, как они могут работать вместе, но я не могу себе представить, почему это было бы необходимо.
Есть ли в этом какая-то правда, это просто паранойя, или это просто фальшивка?
Я могу придумать способы сделать это, но, конечно, это добавляет много сложности в код приложения. При каких обстоятельствах это будет полезно? Если это часто делают, как это обычно развертывается то , что люди? Хеширование идентификаторов? Что-то другое? Похоже, много работы для дополнительной безопасности. Я не ищу реальных решений, я просто хочу понять, как / почему люди делают это в реальном мире.
Это действительно считается «наилучшей практикой» или это просто микрооптимизация с малой ценностью?
ПРИМЕЧАНИЕ . Я думаю, что некоторые люди могли ошибиться: я не предполагаю, что трудно угадываемые идентификаторы были бы единственным механизмом безопасности, очевидно, были бы обычные проверки доступа. Давайте предположим, что они есть, и что простого знания идентификатора или хешированного идентификатора записи недостаточно для предоставления доступа.