gpt4 book ai didi

php - 让用户指定要搜索的mysql字段安全吗?

转载 作者:行者123 更新时间:2023-11-29 04:13:08 25 4
gpt4 key购买 nike

我有一个搜索程序,它有多个输入文本框,这些文本框对应于 mysql 数据库中的字段。我想知道自定义搜索框是否安全,用户可以在其中输入要搜索的实际字段及其值。

像这样:

<form method='post'>
<input type='text' name='param1' />
<input type='text' name='param2' />
<input type='text' name='customField' />
<input type='text' name='customValue' />
</form>

然后在提交的时候:

$param1 = mysql_real_escape_string($_POST['param1']);
$param2 = mysql_real_escape_string($_POST['param2']);
$customField = mysql_real_escape_string($_POST['customField']);
$customValue = mysql_real_escape_string($_POST['customValue']);

$query = "SELECT * FROM mytable WHERE field1 LIKE '" . $param1 . "' AND field2 LIKE '" . $param2 . "' AND " . $customField . " LIKE '" . $customValue . "'";

这是一个内部网页,只有我们中的少数人会真正看到这些新框,但我想知道这里是否可以进行类似 sql 注入(inject)的操作。

最佳答案

您应该检查他们提供的字段是否在您允许搜索的字段列表/数组中。在查询中的字段名称周围添加反引号也是为了更加安全。做这两件事将防止通过这些变量进行任何注入(inject)。

关于php - 让用户指定要搜索的mysql字段安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945662/

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