gpt4 book ai didi

php - 当用户使用 PHP PDO 和 MySQL 插入带引号的字符串时如何避免斜杠?

转载 作者:行者123 更新时间:2023-12-01 00:49:52 28 4
gpt4 key购买 nike

因此,为了避免 SQL 注入(inject),我决定开始使用 PHP PDO 函数连接到我的 MySQL 数据库。但是,当用户输入引号时,是否可以避免将\放在 table 上?

这是我的代码:

$insert = $conn->prepare("INSERT INTO tests 
(name, author, category, description, num_attempts, audience, date_uploaded, source, public) VALUES
(:testName, '$userId', '$category', :desc, '0', '$audience', '$date', 'Web', '0')");
$insert->bindParam(':testName', $testName, PDO::PARAM_STR);
$insert->bindParam(':desc', $desc, PDO::PARAM_STR);
$insert->execute();

注意 testName,这是用户输入的。我不想在有人加引号时将\放在数据库中。请帮忙。

最佳答案

看起来你有 magic quotes打开,这会导致添加斜杠。魔术引号是一个损坏的安全概念,从 PHP 5.3 开始已被弃用,因此为了面向 future 的代码,将魔术引号设置为关闭。

关于php - 当用户使用 PHP PDO 和 MySQL 插入带引号的字符串时如何避免斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255437/

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