专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web Service

怎么防止webservice被非法调用

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
如何防止webservice被非法调用
如何防止webservice被非法调用,一般采取哪些方法

------解决方案--------------------

有个令牌技术

为了使.asmx句柄有可能反串行化SOAP头,首先你需要定义一个.NET类,它代表了暗含的XML Schema类。在此例中相应的类如下:

[XMLType(Namespace="http://example.org/security")]

[XMLRoot(Namespace="http://example.org/security")]

public class UsernameToken : SoapHeader {

public string username;

public string password;

}

然后你需要在WebMethod类中定义一个成员变量来控制一个头类的实例,同样要为WebMethods标记[SoapHeader]属性。见如下:

using System;

using System.Web.Services;

using System.Web.Services.Protocols;

 

 [WebService(Namespace="urn:geometry")]

public class Geometry {

 

public UsernameToken Token;

 

[WebMethod]

[SoapHeader("Token")]

public double Distance(Point orig, Point dest) {

if (!Token.username.Equals(Reverse(Token.password)))

throw new Exception("access denied");

 

return Math.Sqrt(Math.Pow(orig.x-dest.x, 2) +

Math.Pow(orig.y-dest.y, 2));

}

}


大概就是这样子,你上网搜搜!
------解决方案--------------------
确实可以用session。
一般用WSE进行安全加密,这样你的请求就不是明文的了
------解决方案--------------------
方法和1楼说的差不多,就是在调用的时候验证下是不是有效的合法的调用
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: