我有个小问题,
例如,我上次使用 MySQL,现在使用 PDO,所以这是我的问题:
当用户想要使用 MySQL 在我的网站上发布消息时,如果他尝试发布类似 <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 解决这个问题?
提前致谢。
最佳答案
首先,切勿在查询字符串中使用用户输入。使用准备好的语句。这将有助于防止 SQL 注入(inject)。
其次对用户输入使用 PHP strip_tags 函数。 http://php.net/manual/en/function.strip-tags.php
这将阻止人们注入(inject) HTML。
关于php - 带有 $_POST 的 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360746/