I am creating a website which has user accounts. For each user account, the user can do stuff like update their personal details, write a blog etc. When the user wants to edit a blog, i have the following form (this is a simplied version).
<form action="goToThisPage.php" method="get">
<input type="hidden" name="blogID" value="4" />
<input type="text" name="blogTitle" value="" />
<textarea name="blogContent"></textarea>
<input type="submit" name="submit" value="Update Blog" />
</form>
Şimdi, blogID Gördüğünüz gibi bu kullanıcı için 4, bu nedenle kayıt güncelleme zaman, Şimdi kullanıcı 8 gibi bir şey bu kimliği değiştirmek olabilir, kundakçı veya diğer sızdırma teknikleri kullanarak. ID 4, blog tablosunu güncelleştirmek edeceğiz ve başkasının giriş olabilir rekorunu 8 güncelleyin.
How do i prevent this? I've thought of two methods so far, wondering what you think is the best idea (or suggest another).
- Rastgele bir dize ile kimliği kodlamak, sonra doğru kimliği alınıyor kez sunulan dize çözmek.
- Sayısal sayı olarak Leaave ve daha sonra bir veritabanı sorgu tarafından emin kez kendi sicilleri, güncellenen olmak için kontrol edin.
Açıkçası veritabanı sorgularını sınırlamak istiyorsanız, ve ben inanıyorum kimliği kodlayan tarafından daha iyi bir seçenektir. Siz ne düşünüyorsunuz?
Şimdiden teşekkürler