带有$ _POST的PDO

时间:2017-06-05 02:04:17

标签: php html mysql post pdo

我有一点问题,

例如,我最后一次使用MySQL和现在的PDO,这就是我的问题:

当用户希望在我的网站上发布消息时,如果他尝试发布<div class="HAHAHA">这样的内容,那么它就无法发布,或者它会显示:From USER, Message => <div class="HAHAHA">

但是现在使用PDO,当用户发布像HTML一样可以在我的网站上运行时。 (我不知道是否有所作为)。

我的代码:

<?php $contenu = nl2br($_POST['contenu']);

$sql_add_pub = $pdo->prepare("INSERT INTO publications (steamid,profile,contenu,ajout,ip) VALUES ('".$user['steamid']."','".$user['steamid']."', :contenu , '".time()."', '".$_SERVER['REMOTE_ADDR']."') ");
        $sql_add_pub->execute(Array("contenu" => $contenu)); ?>

所以我的问题是,如何用PDO解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:-2)

首先,永远不要在查询字符串中使用用户输入。使用准备好的陈述。这将有助于防止SQL注入。

其次在用户输入上使用PHP strip_tags函数。 http://php.net/manual/en/function.strip-tags.php

这会阻止人们注入HTML。