我一直在为一个视频网站做一个项目。它从数据库中提取信息并在需要的地方插入详细信息。
到目前为止一切都运行良好,但我刚刚进行了 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');
}
?>