???????е?????????????????????????????????????ò????SQL???????SQL Injection??????????SQL???????????????????????????????????????????????????????е???????????????????SQL?????????????е??????????????????е????????????????翪?????????????????????????????б????????SQL?????????????????????????????????????????????????????PHP??MySQL?????????????????????????SQL????????Щ?????????????Щ??α???SQL?????????顣
????????SQL???SQL Injection????
???????????SQL??????????????????????????ó???????SQL??????е?????????????????????????????????磬??????????????????????????SQL???????????????????????????????е???????????????????????????????????????????????????????е???????????????????SQL?????????????????????????????????SQL???????к?????????????????????????????????PHP??MySQL?????????????????????????????????????????????????????????SQL?????ɡ?
???????????SQL?????????
????????????????????????????????????????б????????е?????????????????????????????????????????????????????????????
<?
$q = "SELECT `id` FROM `users` WHERE `username`= ' " .$_GET['username']. " ' AND `password`= ' " .$_GET['password']. " ' ";
?>
????????????????????????????????????????????????????????????????′???
????' ; SHOW TABLES;
????????????????????????????????е????б??????????????????????????
????'; DROP TABLE [table name];
??????????????????????
???????????????????????????????SQL?????????????????????????????????????????????????????????Щ??????????????????????????SQL????????????SQL????????????????????????η???SQL???????
????????SQL??? - ???mysql_real_escape_string()????
??????????????????????????????mysql_real_escape_string()????????????????????????????????????????
<?
$q = "SELECT `id` FROM `users` WHERE `username`= ' " .mysql_real_escape_string( $_GET['username'] ). " ' AND `password`= ' " .mysql_real_escape_string( $_GET['password'] ). " ' ";
?>
????????SQL??? - ???mysql_query()????
????mysql_query()???????????????SQL?????????????????????????С????????????????У??????????????????????????SQL??????????????б???????????mysql_query()?????????????????????????á???????????????????????????????
<?
//connection
$database = mysql_connect("localhost"?? "username"??"password");
//db selection
mysql_select_db("database"?? $database);
$q = mysql_query("SELECT `id` FROM `users` WHERE `username`= ' " .mysql_real_escape_string( $_GET['username'] ). " ' AND `password`= ' " .mysql_real_escape_string( $_GET['password'] ). " ' "?? $database);
?>
??????????????????????PHP???????ж????????????????????????????????????????????????????????????????????????????????????顣???????????μ?SQL?????????????????????????????????????????????????????????Wordpress???????????????????????????μ?汾??????н??ò???????????????????????????