找回密码
 立即注册

QQ登录

只需一步,快速开始

njhg001

金牌服务用户

43

主题

133

帖子

584

积分

金牌服务用户

积分
584

微信认证勋章

njhg001
金牌服务用户   /  发表于:2021-2-19 16:48  /   查看:1636  /  回复:5
在活字格开发的前端页面中,直接调用数据库操作命令,会向前端用户暴露数据表名及相关字段信息,如下图:


而通过服务端命令就可以隐藏的很好。这个问题不知道有什么样好的处理方法,实现有效地保护后台数据库的结构信息,如果现在没有,在即将推出来的7.0版本中是否可以考虑增加这个功能,这个小功能对葡萄城的大佬们来说应该是小菜一碟

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-2-19 17:37:30
沙发
您好,这个确实会在浏览器控制台显示数据库表中的字段名,但是好像也不影响什么吧。

知道这些字段名好像也没什么用吧,我们本身也是有防范SQL注入攻击的,您这边是担心具体哪些安全问题呢?
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-2-19 21:10:19
板凳
Erik.Xue 发表于 2021-2-19 17:37
您好,这个确实会在浏览器控制台显示数据库表中的字段名,但是好像也不影响什么吧。

知道这些字段名好像 ...

咱们用代码开发程序就不会出现这种情况,正常都不应该暴露表名,所以用活字格开发出来的系统可能会让有一点软件知识的用户觉得不太专业,还是希望开发团队能解决这个问题。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-2-20 09:22:05
地板
njhg001 发表于 2021-2-19 21:10
咱们用代码开发程序就不会出现这种情况,正常都不应该暴露表名,所以用活字格开发出来的系统可能会让有一 ...

这个和代码开发肯定是存在区别的,自己的代码定制化开发,你肯定知道你的对应的页面是要操作哪个数据表,在后端与数据库交互的请求中,你可以直接写死对应操作的数据表。
但是对于活字格而言,我们的一个数据表操作命令是个通用命令,并不只是针对一个数据表,那么你肯定得告诉后端,你这个数据表操作命令是针对哪个表进行操作的,所以会以表名作为一个参数。
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-2-20 09:50:32
6#
Eric.Liang 发表于 2021-2-20 09:22
这个和代码开发肯定是存在区别的,自己的代码定制化开发,你肯定知道你的对应的页面是要操作哪个数据表, ...

这个是没错的,但暴露总不是一个好的做法,我们看几乎所有的B/S的系统都是暴露接口,而不是暴露数据结构的,咱们活字格应该尽量向专业化靠拢
这个问题,其实开发团队只需要简单处理下就可以了,比如:我给的数据表名的参数是:表1,在调用数据表操作命令时处理一下这个参数,暴露出来的是处理过的非真正的表名,然后在数据操作命令的代码中再做一次反处理,实现对真正的表做处理,这样既能实现通用的数据表操作命令,也能不暴露该隐藏的数据结构信息,其他数据表查询等命令其实也可以做相同的处理,要实现这样的功能对开发工程师应该也不复杂,提个建议,希望能实现。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-2-20 11:52:42
7#
njhg001 发表于 2021-2-20 09:50
这个是没错的,但暴露总不是一个好的做法,我们看几乎所有的B/S的系统都是暴露接口,而不是暴露数据结构 ...

嗯嗯,我理解你说的这个方式
你说的关于简道云的实现方式,它和活字格是完全不同的,简道云是一个表单一个单独增删改查的逻辑,他会在后台给你直接把增删改查的逻辑写好,并不需要去传递表名,在对应表单上操作就知道去操作的是哪一个数据表。
但是活字格是把所有的增删改查抽成了一个命令。所以才是这样的效果。

如果对这一方面安全性方面有需求的话我们其实更建议使用服务端命令去实现这个功能,这样能从根本上解决你的问题,可以一劳永逸。
加解密对于了解加解密逻辑的人来说,并不是一个最优的选择。而且不同的业务都要考虑,不单纯只是增删改查,还有很多关联的功能,投入和产出成不了正比。还不如让开发多做一些大家更加关注的功能,你说是吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部