sql >> Database >  >> RDS >> Mysql

SQL-injecties in ADOdb en algemene websitebeveiliging

SQL-injectie-aanvallen vinden plaats wanneer gebruikersinvoer onjuist is gecodeerd. Meestal zijn de gebruikersinvoer enkele gegevens die de gebruiker verzendt met haar zoekopdracht, d.w.z. waarden in de $_GET , $_POST , $_COOKIE , $_REQUEST , of $_SERVER reeksen. Gebruikersinvoer kan echter ook afkomstig zijn van verschillende andere bronnen, zoals sockets, externe websites, bestanden, enz. Daarom moet u echt alles behalve constanten behandelen (zoals 'foobar' ) als gebruikersinvoer .

In de code die je hebt gepost, mysql_real_escape_string wordt gebruikt om gebruikersinvoer te coderen(=escape). De code is dus correct, d.w.z. staat geen SQL-injectie-aanvallen toe.

Merk op dat het heel gemakkelijk is om de aanroep naar mysql_real_escape_string te vergeten - en één keer is genoeg voor een ervaren aanvaller! Daarom wilt u misschien de moderne BOB gebruiken met voorbereide verklaringen in plaats van adodb.



  1. Gebruik tnsnames.ora in Oracle SQL Developer

  2. Python REST API's met Flask, Connexion en SQLAlchemy - Deel 3

  3. Verbinding maken met een Oracle-database met behulp van SQLAlchemy

  4. MYSQL importeert gegevens uit csv met LOAD DATA INFILE