我一直在爲視頻網站開發一個項目。它從數據庫中提取信息並在需要的地方插入細節。PDO實現,MySQL,SQL注入
到目前爲止,一切都很完美,但我剛剛完成了SQL注入測試,並且所有內容都完全打開。我一直在尋找答案來關閉它,並使事情變得更加安全。
我試圖實現PDO的聲明,但我不能得到我的頭。我只在本月爲php/sql工作,所以我非常新。
任何幫助或其他的解決方案將是驚人的,下面的代碼是我的,我相信主要頁面的連接點,也是最脆弱的部分
<?php
$username="********";
$password="*******";
$database="*******";
$id = $_GET['id'];
$badchars = array("\"", "\\", "/", "*", "'", "=", "-", "#", ";", "<", ">", "+", "%");
$myid = str_replace($badchars, "", $id);
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$result = mysql_query("SELECT * FROM Videos WHERE id='$id'");
while($row = mysql_fetch_array($result)) {
$title=mysql_result($result,0,"title");
$url=mysql_result($result,0,"url");
$id=mysql_result($result,0,"id");
$description=mysql_result($result,0,"description");
$source=mysql_result($result,0,"source");
$type=mysql_result($result,0,'type');
}
?>
***不要試圖讓你自己的SQL更清潔,使用提供給你的。 'mysql_real_escape_string'。 – 2013-03-11 19:44:24
您嘗試過的PDO代碼是什麼? – 2013-03-11 19:45:52
'mysql_fetch_array'給你所有的字段,你不需要使用'mysql_result' *也*。 – 2013-03-11 19:49:51