哪个更好?在应用程序中使用类文件或从Web服务获取数据



我最近接管了一个部分完成的项目。在该项目中,他正在使用Web服务来完成我的意思是从数据库中获取每个数据。

ex:我需要一些数据,这些数据需要3个参数(区域代码,taluk代码村代码)

发生的事情是:

  1. 使用这三个参数创建XML文档
  2. 加密此XML
  3. 将此XML发送到Web服务
  4. 在Web服务中解密此XML
  5. 使用上述参数通过存储过程检索数据
  6. 再次生成用于检索数据的XML文档。
  7. 再次加密此XML并将此XML返回应用程序
  8. 解密返回的XML并使用此XML生成数据表。

我问他为什么要做这一切?他说出于安全目的。

我觉得这非常漫长且耗时,我了解到的存储程序是确保应用程序的。我的问题是,当我可以使用类文件并在应用程序中使用存储过程时,为什么我需要完成所有这些过程?

使用存储程序的使用不足以确保我的应用程序吗?还是我应该继续他的技术?(坦率地说,我不同意这种方法)

注意:用户未传递参数。一旦用户登录,它将在会话中。

除非客户端代码完全驻留在浏览器端,否则您的伴侣似乎创建了一个过度发动的解决方案。实际上,如果您要开发一个完整的HTML5应用程序,则可以通过Web服务创建完整的HTTP接口,或者应该通过多个客户端技术访问相同的后端。

在请求登陆Web服务资源之前,可以同时实现安全层,也可以作为分层软件系统的定期关注。

可以对加密提出特别的说明。如果我们通过HTTP谈论Web服务,则不需要加密请求主体,因为它可以使用标准SSL/HTTPS在运输级别进行。

最后,关于XML的事情,我想您正在消费肥皂服务。也许您的伴侣很久以前就开始了他的项目,或者再次,如果我们谈论一个针对Web服务的网站,并且他在过去的5 - 6年中实施了SOAP/XML服务,他应该重新考虑使用a 构型的惯例 诸如休息之类的方法...

这种分离在大规模安全Web应用程序中并不罕见。

如果Web应用程序只是直接调用存储过程,则必须在Web网络区域和数据库网络区域之间打开端口1433(或其他ODBC端口)。这会产生一些曝光,因为Web服务器位于DMZ中,而数据库服务器往往会位于更安全的区域。一般而言,您想将尽可能多的端口密封,以使DMZ在妥协时保持包含。

您的同事编写了自己的解决方案是可惜的,因为听起来大多数功能都将被SQLXML覆盖。

最新更新