Saya pernah mendengar orang-orang memberi ceramah di sana-sini di internet bahwa praktik terbaik untuk mengaburkan id database yang dihadapkan kepada publik dalam aplikasi web. Saya kira mereka terutama berarti dalam bentuk dan url, tetapi saya tidak pernah membaca lebih dari satu suap tentang subjek.
EDIT : Tentu saja, sekarang saya bertanya ini, saya menemukan beberapa sumber pada subjek:
- /programming/2374538/obscuring-database-ids
- /programming/1895685/should-i-obscure-primary-key-values
- http://joshua.schachter.org/2007/01/autoincrement.html
Tautan ini memuaskan beberapa keingintahuan saya, tetapi posting SO tidak memiliki banyak suara dan tidak selalu berpusat di sekitar topik dalam konteks ini jadi saya tidak yakin apa yang harus dilakukan, dan beberapa dari mereka mengklaim bahwa yang ketiga tautannya palsu. Saya akan membiarkan sisa postingan saya tetap utuh:
Saya memahami perbedaan antara ketidakjelasan dan keamanan, serta bagaimana keduanya dapat bekerja bersama, tetapi saya tidak bisa membayangkan mengapa ini perlu.
Apakah ada kebenaran dalam hal ini, apakah itu hanya paranoia, atau sama sekali palsu?
Saya bisa memikirkan cara untuk melakukannya, tetapi tentu saja itu menambah banyak kerumitan pada kode aplikasi. Dalam keadaan apa ini berguna? Jika ini adalah sesuatu yang sering dilakukan orang, bagaimana biasanya digunakan? Memukul pengidentifikasi? Sesuatu yang lain Sepertinya banyak pekerjaan untuk keamanan ekstra. Saya tidak mencari solusi nyata, saya hanya ingin mendapatkan ide tentang bagaimana / mengapa orang melakukan ini di dunia nyata.
Apakah ini benar-benar dianggap sebagai "praktik terbaik" atau itu hanya optimasi mikro bernilai kecil?
CATATAN : Saya pikir beberapa orang mungkin mendapat ide yang salah: Saya tidak menyarankan bahwa id yang sulit ditebak akan menjadi satu - satunya mekanisme keamanan, jelas akan ada pemeriksaan akses yang biasa. Mari kita asumsikan itu sudah ada, dan bahwa sekadar mengetahui id atau id hash dari sebuah catatan saja tidak cukup untuk memberikan akses.