在客户端创建与服务器端表结构匹配的对象是不好的做法吗?有安全问题吗?
这将用于创建新记录并在保存到服务器之前存储在客户端上的数组中。另外用于从服务器检索记录和存储。
例如:
var recordClass = {
fields: {
col1: { dataType: "int", identity: true },
col2: { dataType: "char", length:50 }
}
}
答案 0 :(得分:1)
问题有点宽泛,但我仍然会给你答案。一些程序员会说公开分发与您的数据库相关的任何内容都是危险的。这将包括结构,用户名,错误消息。
就个人而言,我认为你应该把事情放在眼里。如果黑客可以访问您的数据库结构,那么他将更容易理解如何处理数据库中可用的数据。 但是,数据库结构本身并不足以让他访问您的数据。如果您已经保护了密码并且您已设法防止任何SQL注入风险以及可能允许在您的数据库上执行不需要的脚本的所有其他缺陷,那么在公共业务层中使用您的结构应该是安全的。我还建议防止错误消息直接发送回浏览器,因为它可能会提供很多信息,可以为您的数据库创建漏洞利用。
P.S。许多数据服务已经在使用没有别名的表名和结构。服务定义有时是公开的。