dongxiansi0158 2012-06-28 05:33
浏览 48
已采纳

我担心SQL注入。 这样安全吗?

I am starting a very basic site that uses a single line form to post into a database and then later echo that $comment variable on the page. I don't know PDO, but am willing to learn if I truly need it for something this simple.

else
mysql_query("INSERT INTO posts (postid, post_content)
VALUES ('', '$comment <br />')");
}
mysql_close($con);

Above this code I have basic strpos commands to block out some of the things I don't want posted.

Am I going to experience any issues with injections down the road from how I am doing this?

  • 写回答

5条回答 默认 最新

  • douxu3315 2012-06-28 05:43
    关注

    No, it's not safe, you need to use mysql_real_escape_string to escape $comment.

    But, PDO is nothing difficult and make your code stronger.

    // create the connection. something like mysql_connect/mysql_error
    try {
        $dbh = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    
    // create the prepared statement.
    $stmt = $dbh->prepare("INSERT INTO posts (postid, post_content) VALUES (?, ?)");
    // execute it with parameters.
    $stmt->execute(array('', $comment.'<br>'));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c