Jfinal直接使用字段名的安全性

SkipperD 发布于 2014/07/19 10:53
阅读 789
收藏 0
@Jfinal 我想问一下就是Jfinal的Model是直接使用数据库中表的字段名称的,那比如在网页表单上直接使用model.fieldName这样写,那字段名就直接暴露出去了,这样会不会有什么安全方面的问题?
加载中
1
JFinal
JFinal

    其它的 ORM 框架跟 JFinal 在这方面是一样的,只要在 form 表单中使用与数据库字段名称一样或者相似的名称都会暴露,所以这个问题应该这样问才科学:表单提交时的域名是否会导致数据库字段暴漏? 所以解决办法也很简单,在表单中使用与数据库字段不一样的名称即可,至于如何与getModel结合,很多其它办法。

    如果不想暴露出去,可以在网页表单上不使用filedName而改用别的名称,再通过拦截器组装参数到Model中即可,该拦截器可以重用于各个对该Model组装需要的请求之上。

    安全的关键不在是否暴露了字段名,而在于采用必要的安全防范机制来阻止破坏。

0
黑牙菜菜
黑牙菜菜
XML映射暴露字段名吗
0
去开原
去开原
也可以用bean啊
0
SkipperD
SkipperD

引用来自“JFinal”的评论

    其它的 ORM 框架跟 JFinal 在这方面是一样的,只要在 form 表单中使用与数据库字段名称一样或者相似的名称都会暴露,所以这个问题应该这样问才科学:表单提交时的域名是否会导致数据库字段暴漏? 所以解决办法也很简单,在表单中使用与数据库字段不一样的名称即可,至于如何与getModel结合,很多其它办法。

    如果不想暴露出去,可以在网页表单上不使用filedName而改用别的名称,再通过拦截器组装参数到Model中即可,该拦截器可以重用于各个对该Model组装需要的请求之上。

    安全的关键不在是否暴露了字段名,而在于采用必要的安全防范机制来阻止破坏。

比如如果我暴露了字段名,那么别人可以通过这个字段名做什么样的破坏,又该如何防范?
NealFeng
NealFeng
我能想到的就是,如果他知道了数据的列名,那如果网站有其它漏洞时,方便他获取和修改数据库中的数据,比如sql注入什么的。
返回顶部
顶部