MySQL sorguda tablo adı backtick Önemi

3 Cevap php

MySQL sorgularda, bir tablo adı backticks koymak için ne kadar önemli olduğunu. Bu güvenlik ile ilgisi var mı? Tablo adı kullanıcı girişi PHP tabanlı dinamik olarak oluşturulan eğer MySQL enjeksiyon saldırıları tablo adı ile mümkündür?

3 Cevap

Backticks yanlışlıkla örneğin SQL ayrılmış bir sözcük bir ad kullanarak size yardımcı. "" Adında bir tablo al, ben katılıyorum bir tablo için bir aptal bir isim, ama ters tırnakların sarın eğer iyi çalışır.

In MySQL queries, how important is it to put backticks around a table name. Does it have something to do with security?

Mysql-specifcs isimler ve sorgu gelenler arasında ad çakışması olduğunda Bildiğim kadarıyla backticks ilgili olarak, ben bunları kullanmak.

Are MySQL injection attacks possible through the table name if the table name is created dynamically in PHP based on user inputs?

Hiç bir kullanıcı girişi olduğunda, size filtre ve kullanıcı gelen girişi doğrulamak emin olmak gerekir. Yani evet buna güvenlik riski vardır.

Ben numaraları için intval kullanmak ve sorgularda kullanmak herhangi bir değişken için mysql_real_escapse_string function tavsiye ederim.

Teşekkürler ...

Eğer bir anahtar kelime, örneğin aynı adı taşıyan bir tablo adı varsa seçin, aşağıdaki sorgu çalışmaya devam edecektir:

select * from `select`;