silverlight 跨域socket

http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx
一切都是临时的,beta2相对于beta1改了很多,不知道正式发布时是否还会改变。
翻译的作用是备忘。
Silverlight 2 beta 支持2种访问远程服务器的方式:
System.Net命名空间中的WebClient和HTTP类。这些类使用HTTP或者HTTPS访问。
System.Net.Sockets命名空间中的Socket类。这些类提供更低层次的socket接口,可以用在更普通的网络通讯应用中。
这两种情况都需要提供安全机制以防止silverlight程序发起未经允许的连接。潜在风险包括:
DOS***:大量的远程PC用来***一个特定的站点
DNS改写***:把受害站点的DNS该写为silverlight源站点,从而让silverlight访问非源站点
反向连接***:让用户的silverlight访问某个远程节点,从而***者可以通过此连接访问用户的私有网络(这个***的模式是,用户访问了一个恶意silverlight站点,下载了silverlight并运行,该silverlight建立一个到私有网络的连接,例如内部file server,从而实现偷窃内部file server数据的功能)
Silverlight设计出了防止以上的***之外,还立足于提供管理员更好的控制。
原有的设计是仅允许silverlight访问源站点。beta1的这个安全模型仅仅允许silverlight通过socket访问下载的那个站点。这个源站点可以是localhost,如果这个silverlight直接从文件中打开的话。
beta包含了跨域连接的支持从而允许访问非源站点。这个重要特性允许silverlight程序使用已有的web service。Silverlight 2 Runtime在允许一个网络连接之前,需要首先从该网站下载一个安全策略文件。这个安全策略文件仅影响WebClient和HTTP类的跨域网络访问。WebClient和HTTP类在访问源的时候,无须安全策略文件。
对于socket,这个安全策略系统不仅影响跨域访问,也影响源访问。即便是源访问,也需要安全策略。这和beta1不一样。beta1中源访问总是被允许的。
安全策略系统基础
Silverlight 存在2种安全策略文件:
Flash policy file - Adobe Flash所使用的crossdomain.xml文件。这个策略文件仅仅用于WebClient和HTTP类。
Silverlight policy file - 可以用来在Web/Socket两种。该文件和Flash策略文件有不同的格式。
在允许到某个网络资源的连接之前,Silverlight2 Runtime会试图从该网络资源下载一个安全策略文件。不同的访问方式有不同的下载方式。
如果连接是WEB跨域,Silverlight2 运行时使用HTTP协议下载安全策略文件。Silverlight2 运行时首先试图从目标域的根下载Silverlight策略文件clientaccesspolicy.xml,如果能获得这个文件(即便解析该文件出现错误),它也用该文件做跨域策略文件。如果找不到该文件,Silverlight运行时试图从目标域的根下载flash策略文件crossdomain.xml。这个flash策略文件必须允许连接所有域。
如果是socket连接(跨域或者源访问),Silverlight2运行时试图连接目标站点的943端口(固定端口)。如果可以建立,Silverlight运行时发送一个特殊的字符串到服务器以获得策略文件。Silverlight2运行时会等待目标站点返回Silverlight策略文件。如果返回了(即便解析出错),也会用作策略文件。
如果策略文件正确解析,并且保证了权限,连接会建立。否则,连接以及以后的连接均被阻止。
另一个socket连接的限制是服务器端口必须在4502-4534之内。如果服务器提供服务器的端口不在其内,可以用程序重定向(例如ssh)
为WebClient/HTTP部署安全策略文件,系统管理员需要配置web service,以便可以下载策略文件。
为socket部署安全策略文件,系统管理员需要配置一个单独的认证服务。
如下是一个开放socket 4502~4506端口的策略文件。必须listen在943端口。(这个问题很令人郁闷,这个绑定冲突怎么解决?)

    
      
        
  
        
      
    
 
如果发现943被bind,kill掉该process,启动自己的server,同时策略文件允许所有。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCP-052考试题库汇总(54)-CUUG内部解答版

USER1 grants SELECT and UPDATE privileges on USER1.EMP to USER2。 SYS executes this command: SQL> REVOKE SELECT ON user1.emp FROM user1; What will be the outcome? A)It will succeed and USER2 will be unable to perform SELECT on USER1.EMP B)It…

ES 创建mapping

mapping的写入与查看首先创建一个索引: curl -XPUT "http://erp2.es.kd1.pagoda.com.cn:80/erp_stock_index"{"acknowledged":true} 现在只创建了一个索引,并没有设置mapping,查看一下索引mapping的内容: cur…

关于C语言野指针的问题

typedef struct{int id;char username [6];} user;int main(void){user *userr;strncpy(userr->username, "hello", 3);strcat(userr->username, ""0");printf("userr->username%s."n", userr->username);return 0;} 便已…

简单 屏蔽 assert

简介 屏蔽 assert 如何实现 Makefile 中加 CFLAGS -DNDEBUG 或者 gcc -DNDEBUG 转载于:https://www.cnblogs.com/eat-too-much/p/11512524.html

多核分布式队列的实现:“偷”与“自私”的运用(1)

多核分布式队列的实现:"偷"与"自私"的运用 在讨论本文的正题前,不得不先说一些闲话,嫌哆嗦者可以跳过"前言"部分不读。1. 前言在发表了"老子是伟大的多核计算科学家" (链接:[…

近期刷题记录表

9月14日:   luogu P1627 [CQOI2009]中位数 题意:给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 题解:根据中位数的性质&#xff0c…

《性能测试从零开始--LoadRunner入门》读书笔记(四)

终于看完了澳网的赛事了,今天要把第五章的读书笔记完成,哈哈。 4.参数化 书中花了不少力气说明这方面的用法,可见参数化在整个脚本的制作过程中的重要性。在这个session开始的时候,书使用了不少的废话去说明白参数化的意义和参数化…

STM32CubeMX

博客:https://blog.csdn.net/wofreeo/article/details/88990192 https://blog.csdn.net/xuquanlin_1680/article/details/80499977 转载于:https://www.cnblogs.com/panda-w/p/11523405.html

我的QTP 9.5装不上去:a previos installation has not competed

解决方法: 1. Open the %TEMP% folder (in the Start -> Run dialog, type %TEMP% and click Enter).2. In this folder, search for a file named "Prereq_Mgr.HP_QuickTest_Professional_9.5.log". This file is created by the inst…

转 Git生成SSH

SSH keys SSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接。 先执行以下语句来判断是否已经存在本地公钥: cat ~/.ssh/id_rsa.pub 如果你看到一长串以 ssh-rsa或 ssh-dsa开头的字符串, 你可以跳过 ssh-keygen的步骤。 提示: 最好的情况是一个密码对应…

u boot 驱动完成

很久没有更新了,终于在年前完成了u-boot下无线网卡的驱动移植,其实驱动移植很简单,驱动里面大部分都是自己的逻辑,真正和系统相关的就是系统的一点点接口,只需要把这些一点点接口都替换掉就可以实现了,当然…

使用Git Flow进行版本控制

重置 # force reset $ git flow init -f 转载于:https://www.cnblogs.com/ww01/p/11527124.html

我的RSS我做主:My RSS

昨天晚上通过google reader 浏览自己的网站时发现,Rss输出的内容比较简单,没有我想输出内容,诸如“评论数”、“评论文章”,“永久链接”等等。修改wordpress RSS 输出函数话,每次更新更新wordpress又要重新改一次,比较…

luogu P3407 散步 二分答案

题目描述 一条道路上&#xff0c;位置点用整数A表示。 当A0时&#xff0c;有一个王宫。当A>0&#xff0c;就是离王宫的东边有A米&#xff0c;当A<0&#xff0c;就是离王宫的西边有A米。 道路上&#xff0c;有N个住宅从西向东用1-N来标号。每个住宅有一个人。住宅只会存在…

C# 视频监控系列(2):客户端——封装API

前言 本章主要是在C#封装的海康DVR客户端SDK 的代码上修改的&#xff0c;并参考《Hikvision 板卡网络开发包编程手册V4.7.pdf》补上更完整的注释&#xff0c;并且参照VC源码做了小部分修改。 参考 1. C#封装的海康DVR客户端SDK 系列 1. C# 视频监控系列&#xff08;1&…

java继承 、方法重写、重写toString方法

1.Java的继承&#xff0c;关键词Extends 1 package cn.mwf.oo;2 3 public class TextExtends {4 public static void main(String[] args) {5 Student s new Student("侠客小飞", 60, "计算机科学与技术");6 s.rest();7 s.st…

网络攻击与防御 实验1

做实验的截图 转载于:https://www.cnblogs.com/ma1998/p/11536582.html

ActiveRecord.JS 与 Google Gears

ActiveRecord是仿照Rails的ActiveRecord写的js orm框架&#xff0c; 我使用它操作gears 的sqlite数据库。看起来不错&#xff0c;但是文档比较恶心&#xff0c;我按照文档的操作ActiveRecord.define方法根本就不能用&#xff0c;去邮件列表里一看&#xff0c;有个老外和我一样的…

SQL注入原理-手工联合注入查询技术

实验报告记录 得到实验结果 转载于:https://www.cnblogs.com/ma1998/p/11536959.html

51CTO寄来的奖品

这两周都是天天上班面对着电脑,挺无聊的.不过幸好有51CTO与我相伴,一直都在关注51CTO的活动.最近我所在的项目组的老员工个个都新买了笔记本,之前他们所用的旧笔记本自然退还给公司了.呵呵,这样像我这样的新员工就有笔记本分配的了,虽然旧了些还是将就着用了.就这样,回到员工宿…