以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  吓死了,在线升级问题!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175596)

--  作者:foxyuan
--  发布时间:2022/3/10 22:49:00
--  吓死了,在线升级问题!

今天临时起意,用员工账号登录系统,正常提示有版本要升级,点升级到升级结束,一直正常。问题是点程序重启,报错,如图1。点确定进登录界面,用员工用户名密码登录,两次提示错误后进入用户表界面。这时发现问题大了,很可怕:本来对除开发者外都隐藏的表头标题都出现了,而且都能进去看到里面的内容,包括一些隐藏的列,而且不仅仅是与这员工所在的部门有关的表,全部的表他都能看。想起前几天有员工问我说升级后总报错,我还没有想到问题这么严重,有好多信息都公开了。

这问题出在哪?



图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-10_22-23-27.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-10_22-34-49.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-10_22-25-26.png
图片点击可在新窗口打开查看

--  作者:foxyuan
--  发布时间:2022/3/10 22:50:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-10_22-21-22.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/3/10 23:17:00
--  
1、有好多信息都公开了,解决方法

到项目属性设置:http://www.foxtable.com/webhelp/topics/0008.htm
允许设置数据源设置为false
关闭开发功能设置为true

不要给用户使用开发者和管理员账户

2、提示错误的问题应该是杀毒软件把exe文件杀掉了
方法1、打开杀毒软件把隔离的文件还原,然后把程序目录添加到信任列表中
方法2、卸载杀毒软件

然后重新把发布的publish目录复制到这台电脑运行


--  作者:foxyuan
--  发布时间:2022/3/10 23:35:00
--  
之前安装已经添加信任过了,升级后要重新添加一次吗?我查看了一下系统自带的安全中心(没有安装其他杀毒软件),没有隔离或删除记录。现在用打包软件安装及安装后使用正常,只是在线升级后报错。
--  作者:lihe60
--  发布时间:2022/3/11 7:34:00
--  
建议默认:
允许设置数据源设置为false
关闭开发功能设置为true

--  作者:有点蓝
--  发布时间:2022/3/11 8:44:00
--  
另外检查一下,全局代码是不是使用了什么第三方不是托管的dll组件,没有手工添加到升级包里。

还有检查一下全局代码是不是有定义变量的时候直接赋值的用法,赋值去掉放到afteropenproject事件赋值

--  作者:foxyuan
--  发布时间:2022/3/11 10:40:00
--  
我再好好检查一下,今天在公司的电脑里相同的现象也存在。一样的报错,一样的能看到本不应当看到的表与列。




图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-11_10-35-39.png
图片点击可在新窗口打开查看


--  作者:foxyuan
--  发布时间:2022/3/11 10:44:00
--  
蓝老师好,全局代码是不是如果用到就在这里能看到?这里什么都没有,因为这个项目已经自己边做边用,好几年了,当初都搞了些什么都不清楚了。

刚刚公司电脑里安全中心也没有提示有阻止我程序运行的提示。


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-03-11_10-41-18.png
图片点击可在新窗口打开查看


--  作者:guosheng
--  发布时间:2022/3/11 10:45:00
--  
我之前也遇到过类似的问题。
我是在每个表的 prepareedit事件中加了:
If user.name<>"开发者"
e.Cancel = True
End If

即使,由于系统问题,有些不该看到的东西被看到了,开发者之外的人不能编辑数据就行了。

--  作者:foxyuan
--  发布时间:2022/3/11 16:16:00
--  
这次郁闷的是员工档案表公开了,里面有些不想公开的列。现在在drawcell里加了        If User.Group <> "管理层" Then     e.Text = "******"   End If,试了一下,即使能看到表这几列也是星星了。