【发布时间】:2010-01-09 13:51:02
【问题描述】:
我创建了一个小的 php 脚本,它根据给定的 post/get 参数返回一个 mysql 结果。有了这个文件,我现在可以使用 jquery.post 或 .get 命令从我的数据库中检索某些内容。
脚本总是返回 1 个值。所以我尝试制作一个 javascript 函数,从数据库中返回检索到的值。
这是我想要它做的,但我没有像它应该做的那样工作:
function mysql(args) {
$.post("scripts/ajax_mysql.php",args,function(data) {
return data;
});
}
var value=mysql({ table:"user", where:"nickname='test'", get:"email" });
似乎在函数已经传递时检索数据。有解决办法吗?
【问题讨论】:
-
这看起来像是一个可怕的安全漏洞,您实际上是在让任何访问者访问您的整个数据库。另请查看:en.wikipedia.org/wiki/SQL_injection
-
不错,没想到。
-
有安全的方法来实现这一点吗?
-
不允许任意查询。为您需要执行的每个查询创建一个特定的方法,并且只传递参数。在服务器上使用参数化查询。
标签: php javascript jquery mysql