0

可能重复:
在 PHP 中停止 SQL 注入的最佳方法

我试过用谷歌搜索寻求帮助,但这并不像你想象的那么容易。如果有人能告诉我如何保护 SQL,或者甚至给我一个好的网站链接来学习如何自己做。

如果您甚至可以善意地修复它,并告诉我出了什么问题,我一定会注意并保护我的其余代码。

    <?php
    $post = htmlspecialchars($_GET["id"]);
    $results = mysql_query("SELECT * FROM tool WHERE id = $post");
    $authorr = $_SESSION['Username'];

while($row = mysql_fetch_array($results)){
 $capsd = ucfirst($author);
 $title= $row['title'];
 $details= $row['details'];
 $author= $row['author'];
 $date= $row['date'];
 $img= $row['featuredimage'];
 $id= $row['id'];



    echo "<table border=1><tr><td width=100px>
                 <b><u><center>";
    echo $title;
    echo "</center></u></td> <td width=100px><center>";
    echo $date;
    echo "</center></td> <td width=100px><b><center>";
    echo ucfirst($author);
    echo "</center></b></td>";

    if (in_array($authorr, $allowedposters)) {
    echo "<center><td width=20px><a href=edit.php?id=";
    echo $id;
    echo "><b>Edit</b></a></center></td>";
    }
   echo "</tr></table>";
   echo "<img src=http://www.removed.com/news/";
   echo $img;
   echo " height=300 width=400> <br><br>";
   echo $details;

   }
   ?>
4

1 回答 1

0

看看这个:如何防止 PHP 中的 SQL 注入?

本质上,答案是使用准备好的语句并清理您的输入。

于 2012-05-26T06:11:01.857 回答