sql >> Database >  >> RDS >> Mysql

Iemand heeft mijn database gehackt - hoe?

mysql_real_escape_string

Zoals hier wordt uitgelegd:Beschermt mysql_real_escape_string() VOLLEDIG tegen SQL-injectie?

Op basis van uw codefragment heeft u twee keer verbinding gemaakt met de database.

$db_con=mysql_connect($db_host,$username,$password);    

$connection_string=mysql_select_db($db_name);
mysql_connect($db_host,$username,$password);    
mysql_set_charset('utf8',$db_con); 

En u heeft de databaselink-ID niet opgegeven voor:

$email= mysql_real_escape_string($_POST['email']);
$name= mysql_real_escape_string($_POST['name']);
$sex= mysql_real_escape_string($_POST['sex']); 

Daarom heeft mysql_set_charset geen effect op echte escape geleverd$_POST voor tekens van meerdere bytes.

Suggestie

  • verwijder de tweede mysql_connect($db_host,$username,$password);
  • expliciet toevoegen $db_con bij het doen van mysql_real_escape_string


  1. Oracle 12c Standard Edition installeren op Windows 10 Professional

  2. Ontvang records van de huidige maand

  3. Vriend van een vriend in PHP/MySQL?

  4. vriendschap database schema