我有开发软件和Web应用程序的经验,我决定做一些自由职业者的工作。好吧,我遇到了我的第一个客户,并且他们正在请求一个相对简单的自定义系统(不会长篇大论)跟踪客户的文书工作,因为它通过业务的不同手动流程进行。这是一家拥有约10名员工的小型企业,但所有员工都会与客户的文书工作进行互动,因此每个人都需要访问新系统。当我说“跟踪”时,我的意思是员工将在一个简单的页面上“检查完成”,在文书工作的不同阶段增加一个进度条。现在我有能力编写满足他们需求的自定义系统,但我不确定应该怎么做。
在新系统中跟踪并存储在数据库中的信息是他们非常保护的机密信息。我的主要问题是我应该如何开发这个以尽可能安全?
- 他们有自己的服务器,所以我应该为服务器开发一个应用程序(VB和SQL),并要求员工远程登录使用它?一次可以有多个人访问/使用该应用程序吗?
- 我应该开发一个只能通过网络访问员工的Web应用程序(ASP.Net/VB和SQL)吗?他们计划扩展办公室,他们是否可以建立VPN来访问该网站?
我倾向于使用Web应用程序,但我在安全性方面做得并不多。基本上我正在寻找任何选项的优缺点或任何关于我应该的建议。
PS,stackoverflow太棒了!很长时间的用户,第一次海报!
答案 0 :(得分:1)
如果你想使用vb& amp; sql你必须考虑:
如果你想使用asp.net进行开发,你必须考虑:
为防止多人访问该文件,您可以在正在使用的情况下添加“已锁定”列。
答案 1 :(得分:0)
嗯,我不是网络粉丝(我很糟糕)我已经看到太多的安全问题了...即Lulzsec,但我非常喜欢VB应用程序。
所以我会定义推荐一个连接到MSSQL数据库的VB应用程序(因为它易于配置,还没有看到任何安全漏洞),我的中国朋友告诉我有一种方法可以访问MySQL免费数据库。
现在,允许远程访问,但要确保您的Windows防火墙也正确配置,请查看所有安全角度。
如果我记得很清楚,MSSQL中有一个选项可以指定IP地址,或者是可以访问数据库的MAC地址,所以如果它们是动态的,可能输入所有10个员工的IP地址(假设它们是静态的)( DHCP)不要打扰。并要求他们将服务器的IP地址设置为静态数据库
如果只有10名员工使用数据库,则将连接限制为10.
现在开发此功能,当涉及到VPN时,您可以制作应用程序的远程版本,我现在可以在以后专注于基础知识。< br />
当您发布应用程序时也使用Dotfuscator我听说它非常好。
我也建议在接待处收到文件/工作单,以便用户检查在具有细节的文档中......如果他们将工作单传递给下一个用户,他们应该选择用户,然后用户可以输入用户特有的某种验证码...我相信你可以设想其余的从这里开始。
现在我也可以从这里得到一个结论吗?lol
答案 2 :(得分:0)
我多年来一直在做同样的事情,我总是走网站的一面,这几天我走的是ASP.NET MVC 4,它更容易,一切都在他们的位置,非常容易测试和维护强>
Web应用程序对任何独立的Windows应用程序都具有非常强大的优势,只需部署和升级一个应用程序,而不是在开始部署Windows应用程序后维护所有不同的版本,并且它们更难以调试一旦你开始使用不同版本的不同机器等等......
所以,Web或Win app = Web应用,总是!
您只需要一台运行IIS并将其设置为使用 Active Directory 的服务器(Visual Studio已经拥有该项目,只需创建一个ASP.NET MVC并选择“Intranet”模板) ,它将为您设置所有内容,稍后您需要调整Active Directory连接字符串。
我还使用自签名的 SSL来保护客户端和服务器之间的数据,因为我还可以在办公室外提供不需要VPN的应用程序,只要他们使用他们的安全AD凭据登录
并且...... 将所有内容审核到辅助数据库中,用户自登录之后执行的每个操作,直到他们退出,每次查看,更新或创建数据,如果您创建.NET,都会使其变得简单您的Logging
方法可以简单地记录消息,并在错误时堆叠消息。
当出现问题时,这将极大地有利于您的雇主和您。
答案 3 :(得分:0)
我会说要使用网络应用程序。使用Web应用程序的优势是,如果他们想要扩展业务..您也可以使用WebApp。但是选择.Net而不是VB,使用最新的技术将帮助您解决当前的挑战。