Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

किसी ने मेरा डेटाबेस हैक कर लिया है - कैसे?

mysql_real_escape_string

जैसा कि यहां बताया गया है :क्या mysql_real_escape_string() पूरी तरह से SQL इंजेक्शन से बचाव करता है?

आपके कोड स्निपेट के आधार पर, आपने डेटाबेस को दो बार कनेक्ट किया है।

$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); 

और आपने इसके लिए डेटाबेस लिंक पहचानकर्ता की आपूर्ति नहीं की:

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

इसलिए, mysql_set_charset का आपूर्ति किए गए वास्तविक पलायन पर कोई प्रभाव नहीं पड़ता$_POST बहु-बाइट वर्णों के लिए।

सुझाव

  • दूसरा mysql_connect($db_host,$username,$password);
  • स्पष्ट रूप से $db_con जोड़ें mysql_real_escape_string करते समय


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में केस स्टेटमेंट का उपयोग कैसे करें?

  2. स्थानीय MySQL डेटाबेस का बैकअप लेने के लिए Windows बैच स्क्रिप्ट और बैकअप फ़ाइलों के साथ केवल N नवीनतम फ़ोल्डर रखें

  3. स्प्रिंग बूट जेपीए:समान पैरामीटर (जेपीक्यूएल) के लिए एकाधिक मान पास करना

  4. SHA256 हैश कब तक है?

  5. MyISAM से InnoDB में बदलते समय क्या कोई नुकसान/चीजें हैं जिन्हें आपको जानना आवश्यक है?