DWR高级主题之DWR安全机制

本文介绍了DWR框架中关于安全机制的主题,指出默认情况下所有授权类的方法都可远程调用,这可能存在安全隐患。为了增强安全性,可以使用<exclude>或<include>元素来指定允许或禁止远程调用的方法,确保敏感操作如divide()不被远程访问。
摘要由CSDN通过智能技术生成
DWR高级主题之DWR安全机制
----------
很多其他Ajax工具对安全性考虑不够,让你直面安全威胁。DWR提供一些安全机制,你也许会发现它非常适合自己的需求。DWR使用多层安全保障方法,但是,至少有一个机制必须始终启用。

1. 默认拒绝
无须做任何设置,DWR会自动采用"默认拒绝"方法。这意味着, 在默认情况下,DWR不允许任何类被远程访问。回想一下希望远程访问的每个类,必须在配置文件中添加 <create>元素。这个<create>元素还应该被嵌套在 <allow>元素中。通过添加这种信息条目,可以告诉DWR,指定类的远程调用被授权了。但是,如果没有在这个配置文件中添加相应的信息条目,则远程调用会被禁止。

读者肯定会认识到,这种措施实际上还存在一个潜在的安全漏洞:在默认情况下,被授权类的所有方法都可以通过远程调用来访问。在通常情况下,这样做就可以了,因为我们平常的代码组织习惯是一个类始终包含可以远程调用的所有"安全"方法。其实,我们也可以这样设计,类中部分方法可以安全地远程调用,部分方法不允许远程调用。如例,我们不希望远程调用divide()方法。我们可以简单地添加一个<exclude>元素。现在,存在一个<exclude>元素和一个<create>元素的子元素<include>元素这两个元素是互斥的也就是说,可以使用<include>元素来指定能够远程调用的方法列表(没有列出来的方法都是不可以远程调用的),或者使用<exclude>元素来指定不允许远程调用的方法列表(没有列出来的任何方法都是可以访问的)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值