【发布时间】:2012-07-03 20:32:35
【问题描述】:
我目前正在创建一个基于jQuery validator plugin 的表单验证脚本。因此,简单的配置变得很容易,例如最小长度、最大长度、必需等。
之后,我决定从客户端检查用户名/电子邮件的可用性,所以我不得不使用remote 选项,这是我在创建规则数组时必须指定的选项。因此,在创建规则时,我必须将数据发送到 php 脚本并检查输入字段的可用性。
但由于我要检查多个输入字段的可用性,我创建了一个函数(在客户端)为每个字段重复使用它,并且该函数需要输入字段的 ID 和 MySQL 表的名称,为了清楚起见,这是功能:
注意事项:
1.check_input 是一个php脚本,它将获取输入字段的值和要检查的表,它会返回一个json编码的布尔值,如果表中没有匹配则为true,否则为false。
function check_input(input, table){
$.ajax({
type:"POST",
url:site_url+"site/check_input",
data:{
input:input,
table:table,
}
}).done(function(resp){
var is_unique = JSON.parse(resp);
return is_unique;
});
}
并且将通过将remote 选项设置为check_input($('#field').val(), 'table.column'); 来调用此函数。
所以,如您所见,我必须从客户端指定我的 MySQL 表,并且每个用户(好用户和坏用户)都可以看到这一点,这被认为是不安全还是不好的做法?
如果不是,检查可用性的合适方法是什么?
【问题讨论】:
标签: php javascript jquery database security