zoukankan      html  css  js  c++  java
  • sl跨域访问学习笔记

    需要跨域访问安全策略文件,

    控制System.Net命名空间下的类对其他域的访问。

    sl4 可以浏览器外运行,即 Out-Of-Browser

    此时程序运行在一个沙盒中,没有安全策略的限制。

    sl5可以在浏览器内提升信任

    sl3和sl4 使用.net类库核心版本号是v2

    sl5类库核心版本是v4

    sl支持两种类型的策略文件:flash策略文件和silverlight策略文件

    flash策略文件名为:crossdomain.xml

    silverlght策略文件名为:clientaccesspolicy.xml

    两种访问设计到跨域访问:

    1、WebClient和System.Net命名空间下的Http;

    2、System.Net.Sockets命名空间下的套接字访问

    假如从webclient或http发起的访问,sl客户端运行时会使用http协议从目标域首先尝试下载sl策略文件,如果未找到该文件或该文件错误,则尝试下载flash策略文件。

    如果http协议访问该文件时被拒绝,则抛出SecurityException异常。

    如果sl策略文件有效,则会被用于该应用程序会话期内的后续访问。

    如果是flash策略文件,即crossdomain.xml,需要允许所有域。即我们看到的

    <cross-domain-policy>  
    <allow-access-from domain="*" />  
    <allow-http-request-headers-from domain="*" headers="*" />  
    </cross-domain-policy>

    假如是 Sockets发起的访问,sl3运行时会通过943端口的tcp协议,去下载sl策略文件。

    从sl4开始,使用http的80端口去下载策略文件。原因是,防火墙默认拒绝943端口。

    使用那种协议下载策略文件,可以设置:

    application should set the

    SocketAsyncEventArgs.SocketClientAccessPolicyProtocol

    property to Http(TCP) on the

    System.Net.Sockets.SocketAsyncEventArgs instance

    passed to the Socket.ConnectAsync method.

    如果返回了策略文件,即使解析时发生错误,后面的跨域请求也不会重新下载。(msdn的原文意思是说,错误的策略文件将用于后续跨域请求)

    使用Sockets发起的访问,增加了一种限制,即允许的跨域目标端口 必须在 4502-4534这个范围内,否则访问会失败。

    部署tcp跨域访问的sl3时需要注意,系统管理员需要配置防火墙, 允许tcp的943端口访问sl策略文件。并且要配置允许的ip。

    sl4要配置tcp943或者http80,以及允许的IP。

    sl策略文件(即clientaccesspolicy.xml)必须放在允许的ip和端口映射的物理路径的根目录下。

    sl4及以后版本,允许浏览器外运行来提升信任。只针对webclient和http提升信任;

    sl4可以从http安装应用,并通过https跨域访问媒体文件。

    sl4以及以后版本,信任的应用程序,通过sockets的 UdpAnySourceMulticastClient和 UdpSingleSourceMulticastClient发起的访问,不需要策略文件,

    tcp连接也不需要策略文件,没有端口限制。

    信任的sl4可以通过UdpAnySourceMulticastClient和 UdpSingleSourceMulticastClient类加入没有策略文件的端口大于等于1024的广播组。(原文是:able to join any multicast group on any port greater than or equal to 1024 without the need for a policy responder to authorize the connection.)

  • 相关阅读:
    ubuntu20.04安装教程TLS,ubuntu安装教程20.04
    ubuntu20.04安装教程,ubuntu详细安装教程20.04
    ubuntu20.04安装教程,ubuntu20.04图文安装教程
    ubuntu20.04安装教程,ubuntu详细安装教程20.04
    ubuntu20.04安装教程,ubuntu安装教程20.04
    ubuntu19.10安装搜狗输入法,ubuntu19.10安装中文输入法
    ubuntu20.04安装搜狗输入法,ubunru安装搜狗输入法中文输入法拼音
    前端实现实时通讯
    移动端1px边框的实现
    利用js自动触发一个a标签的下载事件
  • 原文地址:https://www.cnblogs.com/langu/p/2984516.html
Copyright © 2011-2022 走看看