Я чула, як люди тут і там читають лекції в Інтернеті про те, що найкраща практика - приховувати публічні ідентифікаційні бази даних у веб-додатках. Я вважаю, що вони мають на увазі в основному форми та URL-адреси, але я ніколи не читав нічого більше, ніж рот на цю тему.
EDIT : Звичайно, зараз, коли я це запитую, я знаходжу деякі ресурси на цю тему:
- /programming/2374538/obscuring-database-ids
- /programming/1895685/should-i-obscure-primary-key-values
- http://joshua.schachter.org/2007/01/autoincrement.html
Ці посилання задовольнили деяку мою цікавість, але публікації ЗП не мають багато голосів і не обов'язково зосереджені навколо цієї теми в цьому контексті, тому я не впевнений, що з цим зробити, і деякі з них стверджують, що третій посилання хибна. Решту своєї публікації я залишу недоторканою:
Я розумію відмінності між невідомістю та безпекою, а також тим, як вони можуть працювати разом, але не можу уявити, чому це було б необхідно.
Чи є до цього правда, це просто параноїя, або це взагалі просто неправда?
Я можу придумати способи це зробити, але, звичайно, це додає великої складності коду програми. За яких обставин це було б корисно? Якщо це часто роблять, як це зазвичай розгортається то , що люди? Зашивання ідентифікаторів? Щось ще? Здається, багато роботи для не надто додаткової безпеки. Я не шукаю реальних рішень, просто хочу скласти уявлення про те, як / навіщо люди роблять це в реальному світі.
Це дійсно вважається "найкращою практикою" чи це лише мікрооптимізація малоцінного?
ПРИМІТКА : Я думаю, що у кількох людей, можливо, з’явилася помилкова думка: я не припускаю, що важко здогадатися ідентифікатори будуть єдиним механізмом захисту, очевидно, були б звичайні перевірки доступу. Припустимо, що вони є на місці, і що просто знати id або хеш-код запису недостатньо для надання доступу.