首页 新闻 会员 周边 捐助

WebService 安全性问题?

0
悬赏园豆:50 [待解决问题]

C# WinForm+WebService     

杯具程序员的主页 杯具程序员 | 小虾三级 | 园豆:1718
提问于:2011-09-01 10:44
< >
分享
所有回答(3)
0

再说详细点哈

artwl | 园豆:16736 (专家六级) | 2011-09-01 10:54

WebService 发布到IIS后 有个地址

意思不能直接访问地址

 

支持(0) 反对(0) 杯具程序员 | 园豆:1718 (小虾三级) | 2011-09-01 11:00
0

要能使用肯定是能访问到的,楼主说的是不允许httpGet/post方式吧,vs2010新建项目默认只能用soap 访问,安全上面可以加soap head做限制,或者实现的协议里面带着用户名密码什么的

Devin Mao | 园豆:596 (小虾三级) | 2011-09-01 15:04

恩  是用soap head做限制                            但是 遇到了个问题     我用的是 vs自带的添加服务引用

支持(0) 反对(0) 杯具程序员 | 园豆:1718 (小虾三级) | 2011-09-02 09:00

你做过的?

支持(0) 反对(0) 杯具程序员 | 园豆:1718 (小虾三级) | 2011-09-02 09:03

@杯具程序员:以前有做过的,那个方法需要soaphead验证就在这个方法上面加一个[SoapHeader("Authentication")]这样的特性,然后里面的参数 Authentication 用于接收soap头内容; 代码如:

View Code
publicclass SoapTest : System.Web.Services.WebService
{

public authHeader Authentication;

[WebMethod]
[SoapHeader(
"Authentication")]
publicstring HelloWorld()
{
if (Authentication !=null&& Authentication.account =="cheliantianxia"&& Authentication.pwd =="pwd")
return"Hello World";
else
thrownew Exception("unlaw request!");
}
}

publicclass authHeader : SoapHeader
{
public String account;
public String pwd;
}
然后调用 的时候在soap信封上面加多
类似
View Code
1 soap.Append("<soap:Header>");
2 soap.Append("<h:authHeader xmlns:h=\"http://tempuri.org/\" xmlns=\"http://tempuri.org/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" >");
3 soap.Append("<account>");
4 soap.Append("cheliantianxia");
5 soap.Append("<account>");
6 soap.Append("<pwd>");
7 soap.Append("pwd");
8 soap.Append("</pwd>");
9 soap.Append("</h:authHeader>");
10 soap.Append("</soap:Header>");
good luck!
支持(0) 反对(0) Devin Mao | 园豆:596 (小虾三级) | 2011-09-13 09:38
0

不安全,webservice就算是头加密,也不安全,听说是明文传输的,能拿抓包软件抓出来,不过我没试过。你要是能用WCF最好,不行就在方法的参数上考虑考虑吧,加个动态时间戳参数,就5秒有效时间,超时了,有用户名密码也不能调用方法,但是获取这个时间戳很成问题得好好研究。当然了加密数据也行,.NET提供了一坨加密的类,但我还是觉得WCF好。

MeteorSeed | 园豆:242 (菜鸟二级) | 2011-09-19 15:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册