0

亲爱的社区,自从我编写数据库应用程序以来已经有一段时间了,只是为了确保我有一个简单的问题:

下面的 PHP 代码可以安全使用吗?我有一个带有 php 5.3.8 的基本 DA 安装,所以应该禁用魔术引号。

问候,

 <?php
    $id =  ( mysql_real_escape_string( stripslashes ($_POST['id'])));
    $naam = ( mysql_real_escape_string( stripslashes  ($_POST['naam'])));
    $bericht =  ( mysql_real_escape_string ( stripslashes ($_POST['bericht'])));

    if ($id and $naam and $bericht) {

    $databsestring = "<div class=\"reactie\"><h3>".$naam." op ".date ("F j, Y").":</h3>" . $bericht . "</div>";

    if ($db_found) {

    $SQL = "UPDATE xxxxx_comments SET comments = CONCAT (comments,'".$databsestring."') WHERE id='".$id."'";
    $result = mysql_query($SQL);


    mysql_close($db_handle);

    }
    ?>
4

1 回答 1

2

mysql_* 已弃用,请使用 mysqli 或 PDO 安全地存储数据。

例如:

    $add_user = $mysqli->prepare("INSERT INTO `users` SET  `name`=?, `email`=?, `encrypted_password`=?");
    $add_user->bind_param("sss",$name,$email,$hash["encrypted"]);
    $add_user->execute()

使用准备好的语句是避免 sql 注入的安全方法

于 2012-12-07T16:57:36.560 回答