3

我有开发软件和网络应用程序的经验,我决定做一些兼职工作。好吧,我遇到了我的第一个客户,他们要求一个相对简单的定制系统(不会冗长)跟踪客户的文书工作,因为它通过业务的不同手动流程进行。这是一家拥有大约 10 名员工的小型企业,但所有员工都将与客户的文书工作进行交互,因此每个人都需要访问新系统。当我说“跟踪”时,我的字面意思是员工将在一个简单的页面上“检查为完整”,这会在文书工作的不同阶段增加一个进度条。现在我 %110 能够编写满足他们需求的自定义系统,但我不确定我应该如何去做。

在新系统中跟踪并存储在数据库中的信息是他们非常保护的机密信息。我的主要问题是我应该如何开发它以尽可能安全?

-他们有自己的服务器,我应该为服务器开发一个应用程序(VB和SQL)并要求员工远程登录才能使用它吗?一次可以有多个人访问/使用该应用程序吗?

- 或者我应该开发一个只能在他们的网络上对其员工访问的 Web 应用程序(ASP.Net/VB 和 SQL)?他们计划扩大办公室,是否可以设置 VPN 来访问该站点?

我倾向于 Web 应用程序,但在安全性方面我没有做太多。基本上,我正在寻找任何一种选择的利弊或任何关于我应该做什么的建议。

PS,stackoverflow 太棒了!老用户,第一次发帖!

4

4 回答 4

1

如果您想使用 vb & sql 进行开发,您必须考虑:

  • 你需要有真实的ip
  • 您的系统将与某些端口进行通信,您必须处理让某些端口在您的服务器中打开的安全措施。
  • 您应该具备良好的网络编程知识

如果您想使用 asp.net 进行开发,您必须考虑:

  • 如果只有办公室员工会使用该系统,您可以针对 Active Directory 中的用户以及使用 SSL 连接或 vpn 的用户名和密码的外部用户进行开发

为了防止多人访问该文件,您只需添加“锁定”列,以防文件被使用。

于 2013-08-14T07:25:25.443 回答
0

好吧,我不是网络粉丝(我很烂),我看到太多的安全问题伴随着它......即 Lulzsec,但我非常喜欢 VB 应用程序。
所以我肯定会推荐一个连接到 MSSQL 数据库的 VB 应用程序(因为它很容易配置并且还没有看到任何安全漏洞),我的中国朋友告诉我有一种访问 MySQL 免费数据库的方法。
现在,允许远程访问,但要确保您的 Windows 防火墙也配置正确,并从各个角度进行安全检查。
如果我没记错的话,在 MSSQL 中有一个选项可以指定 IP 地址,或者它是可以访问数据库的 MAC 地址,所以可以输入所有 10 名员工的 IP 地址(假设它们是静态的,如果它们是动态的(DHCP)不要)不要打扰。并要求他们将您将在其中托管数据库的服务器的 IP 地址设为静态。
如果只有 10 名员工使用数据库,则将连接限制为 10。
现在在 VPN 方面进行开发,您可以制作应用程序的远程版本,我确信稍后将重点关注基础知识。

发布应用程序时也使用 Dotfuscator,我听说它非常好。

我还建议在接待处收到文件/工作订单,以便用户检查文件的具体细节......如果他们将工作订单传递给下一个用户,他们应该选择用户,然后该用户可以输入某种用户独有的验证码......我相信你可以从这里设想其余的。
现在我也能从中分一杯羹吗?哈哈

于 2013-08-14T07:29:53.487 回答
0

多年来我一直在做同样的事情,而且我总是站在网站方面,这几天我使用 ASP.NET MVC 4,它更容易,一切都在他们的位置,并且非常容易测试和维护

Web 应用程序对任何独立的 Windows 应用程序都有很大的优势,您只需部署和升级一个应用程序,而是在开始部署 Windows 应用程序后维护所有不同的版本,并且一旦您开始使用不同的机器,它们就更难调试了版本等等...

所以,Web 或 Win app = Web app,永远如此!

您只需要一台运行 IIS 并将其设置为使用Active Directory的服务器(Visual Studio 已经有该项目,只需创建一个 ASP.NET MVC 并选择“intranet”模板),它将为您设置一切,并且稍后您只需要调整 Active Directory 连接字符串。

我还使用自签名SSL 来保护客户端和服务器之间的数据,因为我还可以在不需要 VPN 的情况下使应用程序在办公室外可用,只要他们使用安全的 AD 凭据登录即可。

并且......将所有内容审核到辅助数据库中,用户从登录到注销后执行的每个操作,每个视图,更新或创建数据,如果您创建Logging简单的日志消息和堆栈消息的方法, .NET 会变得很简单错误。

当出现问题时,这将极大地使您的雇主和您受益。

于 2013-08-14T07:40:43.817 回答
0

我会说使用网络应用程序。使用 Web 应用程序的优势是,如果他们想扩展业务……您也可以使用 WebApp。但是选择 .Net 而不是 VB,采用最新技术将帮助您解决当前的挑战。

于 2013-08-14T07:41:09.387 回答