问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么给WebService加上安全机制

发布网友 发布时间:2022-04-24 16:14

我来回答

2个回答

懂视网 时间:2022-04-27 14:34

使用soaphead方法可以在webservice的请求中增加头部信息,当有人调用我们的webservice时,可以通过查询这个请求的头部信息并验证来防止该软件以外的程序调用webservice

一、服务端部分

using System;
using System.Web.Services;
using System.Web.Services.Protocols;

//请注意此命名空间必须有别于代理动态连接库上的命名空间。 
//否则,将产生诸如多处定义AuthHeader这样的错误。 
namespace SoapHeadersCS
{

 //由SoapHeader扩展而来的AuthHeader类 
 public class AuthHeaderCS : SoapHeader
 {
 public string Username;
 public string Password;
 }

 //[WebService(Description="用于演示SOAP头文件用法的简单示例")] 
 public class HeaderService
 {

 public AuthHeaderCS sHeader;

 [WebMethod(Description = "此方法要求有调用方自定义设置的soap头文件")]
 [SoapHeader("sHeader")]
 public string SecureMethod()
 {

 if (sHeader == null)
 return "ERROR:你不是VIP用户!";

 string usr = sHeader.Username;
 string pwd = sHeader.Password;

 if (AuthenticateUser(usr, pwd))
 {
 return "成功:" + usr + "," + pwd;
 }
 else
 {
 return "错误:未能通过身份验证";
 }
 }

 private bool AuthenticateUser(string usr, string pwd)
 {

 if ((usr != null) && (pwd != null))
 {
 return true;
 }
 return false;
 }
 }
}

二、客户端部分加上验证的请求

WebService webservice = new WebService();
AuthHeaderCS auth = new AuthHeaderCS();
auth.Username = "vip";
auth.Password = "vippw";
webservice.AuthHeaderCSValue = auth;
textBox1.Text = webservice.SecureMethod();

热心网友 时间:2022-04-27 11:42

简单一些继承SoapHeader加入账号密码之类的,然后使用ssl加密通讯过程也差不多了。
也可以使用客户端服务端约定使用一个加密key,然后加密webserver的某些或是全部调用参数,别人能看到webserver函数定义,但是不知道加密方式也就没办法了,当然最好把当前时间也加密到参数中防止重发攻击。也可以改进一下,借鉴ssl通讯过程,客户端生成临时加密key,然后使用公钥加密发给服务端,服务端使用私钥进行解密,然后双方使用临时加密key加密通讯参数。
当然你的客户端程序要混淆一下,或是核心加密过程使用非托管代码来写。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
oppoa9私密相册在哪里(oppoa9私密相册在哪里查看) oppoa9私密照片怎么看(oppoa9手机设为私密的照片怎么找) oppoa9怎样找到自己的私密相册 安全阀有什么作用 安全阀是什么 安全阀的作用有哪些 一年级上课时训练40页的答案,有个数图形的机器人,⭕️有几个 一年级机器人有几个圆柱 斗鱼直播怎么投影到电视 直播投屏电视方法详解 斗鱼怎么在电视上看直播电视上看斗鱼直播教程 东芝电视如何安装斗鱼直播 js调用webservice如何保障安全性? 会议室投屏? 请教webservice安全和加密的方法 好视通会议app可以投屏到电视吗? 腾讯会议app怎么投屏到电视? 会议系统电脑有线投屏电脑上怎么设置? 安卓手机腾讯会议怎么投屏到电视怎么放大屏幕? 企业网站建设的意义在哪里? 做一个企业网站,一般大概需要多少钱? 一个好的企业网站应该具备哪些条件呢? 小猫玩具怎么介绍? 建立企业网站 费用?一年大概是多少花费? 猫最喜欢什么玩具? 给猫做玩具的简单方法 有哪些猫玩具适合买给猫咪玩呢? 宠物猫玩具有哪些 猫最喜欢玩什么玩具? 一个人在家怎样给猫咪自制玩具? 有哪些便宜好玩的玩具,适合给猫玩的? 猫咪都喜欢玩什么玩具呢? Zoom会议怎么投屏到电视? 使用WebService和不使用WebService哪个速度更快哪个更安全 webservice 原理是什么? webservice安全!(.net) WebService接收SQL语句安全吗 进行webservice接口开发,可通过公网访问,如何建立安全机制,防止... .net webservice 的web引用接口会存在安全的问题吗? 如何调用带有安全验证 webservice .net调用php的webservice时的安全身份认证该怎么做?谁做过给点思路... WCF和webservice的区别 在用Java调用一个webservice引用时,出现的安全异常:java.lang.SecurityException:禁止创建如图的连接 java 调用WebService如何跳过安全证书验证的问题 如何利用Axis2默认口令安全漏洞入侵WebService网站 Wince 访问局域网iis部署的webservice 报webException错误,怎么解决呢。 怎样摆放餐厅桌子 开饭店,桌子如何摆放节省空间 中餐餐台转盘摆放方法 风水~~~关于店铺桌子的摆放 餐桌如何布置? 自己已发出的微信聊天记录怎样删除才不会让对方看见