php - 带有 $_POST 的 PDO

标签 php html mysql post pdo

我有个小问题,

例如,我上次使用 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/

相关文章:

javascript - 如何使用切换按钮而不是复选框/单选按钮?

mysql - 读取一列的值并分配给另一列

javascript - 如何避免多次追加

javascript - jQuery .val() 没有设置 <select> 的值

php - 如何让我在 Heroku 上的 Laravel 项目使用 Heroku Postgres?

php - 更改从 mysql 中提取的前 3 条记录的 css 类

php - 将购物车详细信息保存到数据库中

java - 数据库详细信息未在 Spring-MVC 中显示

php - PayPal 生产的工作方式与沙箱不同

php - Dropdownlist php不显示来自mysql数据库的数据