我最近接手了一个部分完成的项目。在那个项目中,他正在使用Web服务来获取从数据库中获取每个数据的所有内容。
Ex:我需要一些带3个参数的数据(区号,taluk代码和乡村代码)
发生的事情是:
我问他为什么要做这一切?他出于安全目的说。
我觉得这是非常冗长和耗时的,我学到的存储过程是它保护应用程序。 我的问题是,当我可以拥有一个类文件并在我的应用程序中使用存储过程时,为什么我需要完成所有这些过程?
使用存储过程是否足以保护我的应用程序? 或者我应该继续他的技术?(坦率地说,我不同意这种方法)
注意:用户不传递参数。一旦用户登录,它将在会话中。
答案 0 :(得分:0)
除非客户端代码完全位于浏览器端,否则您的配合似乎已经创建了一个过度引擎的解决方案。实际上,如果您正在开发一个完整的HTML5应用程序,那么您将通过Web服务创建一个完整的HTTP接口,或者应该通过多种客户端技术访问相同的后端。
安全层既可以在请求到达Web服务资源之前实现,也可以在分层软件系统中作为常规问题实现。
可以对加密进行特别说明。如果我们通过HTTP讨论Web服务,则不必加密请求体,因为它可以使用标准SSL / HTTPS在传输级别完成。
最后,关于XML的事情,我猜你正在使用SOAP服务。也许你的伙伴很久以前就开始了他的项目,或者,如果我们谈论一个针对Web服务的网站,并且他在过去的5 - 6年里实施了一个SOAP / XML服务,他应该重新考虑使用关于配置方法的约定,如REST ......
答案 1 :(得分:0)
在dual firewall配置中的大规模安全Web应用程序中,这种分离并不罕见。
如果Web应用程序只是直接调用存储过程,则必须在Web网络区域和数据库网络区域之间打开端口1433(或其他ODBC端口)。这会产生一些曝光,因为Web服务器位于DMZ中,而数据库服务器往往位于更安全的区域。一般来说,您希望保持尽可能多的端口密封,以便在妥协的情况下保持DMZ。
很遗憾,你的同事编写了自己的解决方案,因为听起来大多数功能都会被SQLXML覆盖。