网站大量收购独家精品文档,联系QQ:2885784924

如何保护Web应用程序.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何保护Web应用程序

如何保护Web应用程序 虽然安全性是所有应用程序都需关心的方面,但是它对于Web应用程序组件尤为重要。不安全的Web应用程序使Web站点易受多种攻击,而且有些攻击仅仅需要一个Internet浏览器和少量相关知识即可。   Java 2 Enterprise Edition(J2EE)提供许多安全功能。了解何时以及如何使用这些功能是一件复杂的工作,而且易于出错。此外,J2EE的安全性无法满足许多Web应用程序开发人员的需要。 BEA WebLogic Server实现了所有J2EE Web应用程序的安全功能,并扩展它们以帮助完成一些单独使用J2EE API所不可能完成的任务。 Web应用程序安全性   J2EE提供两个用于保护Web应用程序的基本机制: 加密:有一个机制用于指定访问特定的URL时,是否必须使用SSL(安全套接字层,secure sockets layer)。使用SSL时,它可以确保中间人不能查看和修改用户浏览器和服务器之间的通信。SLL还允许用户核实,他们是将(可能是机密的)消息发送给预定的目的地,而不是发送给冒名顶替者。 基于角色的安全性:角色是授予用户的权限集合,它支持站点允许特定的用户访问站点的不同部分。可以使用声明性的方法,即把特定的URL限制给属于某个角色组的用户,也可以使用编程接口来确定当前用户是否属于某个特定角色。 Web应用程序示例   本文开发了一个示例应用程序。该应用程序的骨架可以在/weblogic/sourcec.cfm上找到。这个骨架包含了该应用程序的所有Web页面和部署描述符,但是省略了所有与安全性没有直接关系的内容。   该应用程序已经在BEA WebLogic Server 8.1上进行了测试。除了部署Web应用程序之外,还必须完成两件事情才能使该Web应用程序运行起来: 您必须创建一个“Customers”组。这可以在控制台中的Security Realms myrealm Groups选项卡下完成。无需填充该组,只需创建它即可。应用程序会在需要的时候填充它。 您必须创建一个名为“weblogic”的用户,然后将其放入“Administrators”组。这可以在控制台中的Security Realmmyrealm Users选项卡下完成。   当上述操作出现时,就会随即说明需要它们的原因。 加密(SSL)   为了保证与用户交互时的机密性,站点通常使用SSL来执行对敏感页面的加密。在浏览器中,SSL使用以“https”,而不是“http”开头的URL表示。   不幸的是,和许多安全技术一样,使用加密反过来会影响性能。因此,SSL通常只用于敏感页面。敏感页面就是包含机密数据的任意页面,不论是通过表单从服务器出站的还是从用户浏览器入站的。这项规则有一些例外。   通常,应该对在其他安全会话中间的非敏感页面(比如,购买交易中间的广告)进行加密。除了方便开发人员之外,当浏览器从加密会话变为明文会话时,许多浏览器还使用提示来通知用户。为了避免可能出现的混乱提示,请对这些不安全的页面使用加密。   此外,如果用户要填入的数据包含敏感信息,应该对包含表单的页面进行加密。例如,考虑一个需要您填入姓名和信用卡号的表单。提交表单时,它必须使用加密来保护机密信息,但是也应该对表单本身进行加密,即便它没有包含机密信息也是如此。这是必需的,因为当一个页面已经被加密时,浏览器通常会在它们的底部边缘处显示一个锁定记号。一些用户如果没有看见这个锁定记号,他们就不会将安全数据输入到表单中。注意,这个锁定记号与表单数据无关,用户实际上想要保护的信息将被加密。这个锁定记号仅仅表示表单已经被加密。所以,尽管该锁定记号通常是没有关系的,还是应该使用加密让用户放宽心。您可以请求加密一个页面,具体方法是指定传输保证(transport guarantee)为“INTEGRAL”或“CONFIDENTIAL”(请参见详细信息)。   为了给出一个具体的例子,请考虑一个非常简单的应用程序,它支持在线购物。它包含以下文件: catalog.jsp:允许浏览和搜索目录。可以从目录中将物品加入到购物车中。 shoppingcart.jsp:显示内容,并允许操纵购物车。用户可以购买车中的物品,也可以继续购物。 billinginfo.jsp:搜集发货地址和帐单信息,并把它们发送给orderstatus.jsp。 orderstatus.jsp:执行订单。如果成功,它将显示一条成功消息;如果失败,它将返回billinginfo,以便显示错误并允许用户纠正它。   图1显示了这个站点的流程以及需要使用加密的情况。只有orderstatus.jsp页面需要使用加密,因为发送来自

文档评论(0)

htfyzc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档