sql >> Databasteknik >  >> RDS >> Mysql

Är dynamiska mysql-frågor med sql-escape lika säkra som förberedda uttalanden?

Ja, men ett kvalificerat ja.

Du måste escape 100% av inmatningen. Och du måste ställa in teckenuppsättningar korrekt (om du använder C API måste du anropa mysql_set_character_set() istället för SET NAMES ). Om du missar en liten sak är du sårbar. Så det är ja, så länge du gör allt rätt...

Och det är anledningen till att många kommer att rekommendera förberedda frågor. Inte för att de är säkrare. Men för att de är mer förlåtande...



  1. Sortera kulor i databasen

  2. Bästa typen av indexering när det finns LIKE-klausul

  3. MySQL Event Scheduler på en viss tid varje dag

  4. Förstå SQL Server LOCKS på SELECT-frågor