加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

受限IP调用webservice方案 webservice远程测试显示 “测试窗体只

发布时间:2020-12-17 01:24:35 所属栏目:安全 来源:网络整理
导读:根据IP调用webservice方案 ? 1、创建ClientIPs.xml ?xml version="1.0" encoding="utf-8" ? IPS ? IP127.0.0./IP ? IP10.2.16./IP /IPS ? 2、在web.config的添加appSettings标签中添加 add key="IPsXml" value="ClientIPs.xml"/ ? 3、在当前项目中添加web服

根据IP调用webservice方案

?

1、创建ClientIPs.xml

<?xml version="1.0" encoding="utf-8" ?>
<IPS>
? <IP>127.0.0.</IP>
? <IP>10.2.16.</IP>
</IPS>

?

2、在web.config的添加appSettings标签中添加 <add key="IPsXml" value="ClientIPs.xml"/>

?

3、在当前项目中添加web服务,由于时间比较紧,就拿目前在开发的VB项目为例。C#简单的

???

???? 核心代码如下:

????#Region "判断ip地址"

??? ''' <summary>
??? ''' 判断是否是允许访问的客户端IP地址
??? ''' </summary>
??? ''' <param name="strIP">客户端IP地址</param>
??? ''' <returns>bool</returns>
??? ''' <remarks></remarks>
??? Public Function IsAllowedIP(ByVal strIP As String) As Boolean
??????? Dim xmlDoc As XmlDocument = New XmlDocument()
??????? xmlDoc.Load(Server.MapPath(System.Configuration.ConfigurationManager.AppSettings("IPsXml")))
??????? Dim rootNode As XmlNode = xmlDoc.DocumentElement '获取根节点
??????? For Each node As XmlNode In rootNode.ChildNodes
??????????? If node.InnerXml.Substring(node.InnerXml.Length - 1,1) = "." Then
??????????????? ' 如果是一个网段地址
??????????????? If strIP.Contains(node.InnerXml) Then
??????????????????? Return True
??????????????? End If
??????????? Else
??????????????? If strIP = node.InnerXml Then
??????????????????? Return True
??????????????? End If
??????????? End If
??????? Next
??????? Return False
??? End Function
#End Region

?

??? ''' <summary>
??? ''' 受限IP得到所有行政许可受理信息
??? ''' </summary>
??? ''' <returns></returns>
??? ''' <remarks></remarks>
??? <WebMethod(EnableSession:=True,Description:="受限IP得到所有行政许可受理信息")> _
??? Public Function GetAcceptances() As DataTable
??????? If IsAllowedIP(Me.Context.Request.ServerVariables("REMOTE_ADDR").ToString()) Then
??????????? Return GetAcceptance()?'调用业务方法
??????? Else
??????????? Return Nothing
??????? End If
??? End Function

?

webservice注释:普通的XML 注释不行,要用特性参数,Description来设置

?

OK这样就好了,弄好部署到服务器上

?

遇到调用的问题:?

webservice远程测试显示 “测试窗体只能用于来自本地计算机的请求”
The test form is only available for requests from the local machine.

解决的方法:在web.config中加入如下配置节内容<webServices>????????? <protocols>???????????? <add name="HttpSoap"/>???????????? <add name="HttpPost"/>???????????? <add name="HttpGet"/>???????????? <add name="Documentation"/>????????? </protocols></webServices>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读