id yerine hash kullanarak (Youtube'un ?v=gocwRvLhDf8 kullanması gibi) işlem yapma ile ilgili bir yazı hazırladım. Eser miktarda Repository, Decorator ve Inversion of Control içermekte
Laravel’ de Şifrelenmiş Id İle Çalışmak
Bu işlemi servis container üzerinde halletmek çok güzel olmuş. IoC kavramı karşıma çok çıkıyordu ama Örneğiyle beraber görünce daha çok anlaşılıyor. Teşekkürler
Rastgele id'lerle ilgili sayfalara erişmek neden sorun oluyor? User ile ilgili işlemlerde zaten sorguya user_id'yi de dahil etmiyor muyuz? Yani sadece id ile insert update delete yapmazsak rastgele olarak id gönderse bile işlem yaptırmayız olur biter.
Son olarak vimeo neden direkt id kullanıyor?
EgoistDeveloper Id kullanmak güvenilir değildir denmek istenmiyor. Konu, bir kat daha güvenlik önlemi oluşturmak. Sonuçta insan hatası denen bir olay var ve bu işlem sizi bazı durumlarda kurtarır. user_id gönderiyorsunuz, bu kullanıcı var mı yok mu kontrol ediyorsunuz; company_id gönderiyorsunuz bu firma var mı yok mu kontrol ediyorsunuz, address_id gönderiyorsunuz bu adres var mı yok mu kontrol ediyorsunuz. Peki arkada o kullanıcı o firmaya ait mi ve o adres o firmadaki o kullanıcıya ait mi diye kontrol ediyor musunuz? Bunlar bazen gözden kaçabiliyor ve zamanla sorun çıkardıkça yamanıyor. Burada id'yi gizlemediğinizde company_id 5 ise demek ki 6 ya da 7 diye bir firma olabilir gibi hareket edilerek saldırı yapılabilir. Eğer bahsettiğim kontroller yoksa ya sızarlar ya da veri yapınızı bozarlar. Her şey insan hatası denen olayda bitiyor.