首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让用户指定要搜索的mysql字段是否安全?

问让用户指定要搜索的mysql字段是否安全?
EN

Stack Overflow用户
提问于 2011-02-09 21:44:55
回答 4查看 106关注 0票数 1

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

如下所示:

代码语言:javascript
复制
<form method='post'>
 <input type='text' name='param1' />
 <input type='text' name='param2' />
 <input type='text' name='customField' />
 <input type='text' name='customValue' />
</form>

然后当它被提交时:

代码语言:javascript
复制
$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注入之类的事情。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-09 21:47:46

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

票数 5
EN

Stack Overflow用户

发布于 2011-02-09 22:00:46

票数 1
EN

Stack Overflow用户

发布于 2011-02-09 21:48:45

我会使用PDO,只是为了安全起见--然后确保你相应地处理所有的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4945662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档