gpt4 book ai didi

php - PDO 准备语句安全

转载 作者:行者123 更新时间:2023-11-29 05:26:52 27 4
gpt4 key购买 nike

这是我第一次参与这个很棒的网站,所以我希望得到第一个对我的问题的很好的回答。我正在使用以下代码将数据插入 MySQL 数据库:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) 
{
$q = $conn->prepare("INSERT INTO client (name, address) VALUES (:name, :address)");
$q->bindValue(':name', htmlspecialchars($_POST['name']), PDO::PARAM_STR);
$q->bindValue(':address', htmlspecialchars($_POST['address']), PDO::PARAM_STR);
$q->execute();
}

插入是否足够安全?我应该在插入时使用 htmlspecialchars() 还是在显示数据时使用?

亲切的问候

最佳答案

是的,您的代码是安全的,但根据一般经验,以中性形式存储数据。也就是说,不针对任何特定的输出或媒体进行编码。在出路时进行编码,而不是在进路时进行编码。

如果您做相反的事情并在存储之前通过 htmlspecialchars() 传递它(就像您在问题中的代码),那么您的数据将专门绑定(bind)为以 HTML 格式输出。如果您想将其输出到其他地方(例如 XML 文档),而 htmlspecialchars() 不适用,那么您必须先对其进行解码。

关于php - PDO 准备语句安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com