我的编程空间,编程开发者的网络收藏夹
学习永远不晚

FlexSocket安全沙箱冲突怎么处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

FlexSocket安全沙箱冲突怎么处理

小编给大家分享一下FlexSocket安全沙箱冲突怎么处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

FlexSocket安全沙箱冲突及解决方案

这是FP被广为唾骂的特性之一,其设计糟糕至极。Adobe貌似认为9秒时间对用户来说很短。

1,糟糕的设计可能使用户浪费9秒时间

FlexSocket连接SocketServer时,javaSocket、c++Socket,抑或其它,首先会开一个Socket连接主机的843端口请求安全策略文件,这个时间为3秒;如果此步未能成功,则看开发者是否显式调用了Security.loadPolicyFileAPI,如下

Security.loadPolicyFile("xmlsocket://127.0.0.1:1843");

如有,则再次尝试从这个端口加载策略数据,又是3秒。如果此步又未能OK,则尝试从开发者定义的FlexSocket主机端口再次加载安全策略,此时会发送这样一个请求:

<policy-file-request/>

如果SocketServer没有处理这个请求,客户端将无法进一步完成FlexSocket连接。这个过程又是3秒。如果软件设计不当,客户端将浪费9秒的时间才能知道它有没有获得Server的连接许可,这张门票有点贵了。FP如能成功加载到安全策略数据,会把所用socket抛弃(即使从主机端口请求亦是如此),然后执行开发者的socket连接逻辑。

2,合理的方案,用java实现

在SocketServer端单开一个843端口,用于专门向客户端提供安全策略文件,java示例代码如下:

packagesban.socketServer;   importjava.io.BufferedInputStream;  importjava.io.BufferedReader;  importjava.io.File;  importjava.io.FileInputStream;  importjava.io.IOException;  importjava.io.InputStreamReader;  importjava.io.PrintWriter;  importjava.net.InetSocketAddress;  importjava.net.ServerSocket;  importjava.net.Socket;  importjava.net.SocketAddress;  importjava.net.URL;     publicclassSbanSocketPolicyServer{   publicSbanSocketPolicyServer(){    }    publicstaticStringreadFileAsString(Stringurl)     throwsjava.io.IOException{    byte[]buffer=newbyte[(int)newFile(url).length()];    BufferedInputStreamf=newBufferedInputStream(      newFileInputStream(url));    f.read(buffer);    f.close();    returnnewString(buffer);   }    publicstaticvoidmain(String[]args)throwsIOException{    ServerSocketserver=newServerSocket();    SocketAddressendpoint=newInetSocketAddress("127.0.0.1",843);    server.bind(endpoint);    Stringpath=SbanSocketPolicyServer.class.getResource("../../crossdomain.xml").getPath();    System.out.println(path);    Stringpolicy=readFileAsString(path);     while(true){     System.out.println("waitforclient...");     Socketsocket=server.accept();      BufferedReaderin=newBufferedReader(newInputStreamReader(       socket.getInputStream()));     PrintWriterout=newPrintWriter(socket.getOutputStream());     Strings=in.readLine();     System.out.println(s);      if(s.indexOf("policy-file-request")>-1){      out.print(policy+'\0');      out.flush();      in.close();      out.close();      System.out.println("sendedpolicycontext.");      socket.close();     }    }    }  }

而crossdomain.xml文件的示例代码为:

<cross-domain-policy> <site-controlpermitted-cross-domain-policiessite-controlpermitted-cross-domain-policies="all"/> <allow-access-fromdomainallow-access-fromdomain="*"to-ports="*"/> </cross-domain-policy>

将crossdomain.xml文件与执行文件放置一起

3,你可以借用的jar执行文件

sban把上述java导出为jar可执行文件:

SbanSocketPolicyServer.zip5.8KB

在Windows下,确定已安装java环境,并已设定环境变量,在命令行窗口中执行如下命令:

java-jarSbanSocketPolicyServer.jar

说明:该java程序未经优化,仅作为教程示例,不建议在商业项目中使用。

以上是“FlexSocket安全沙箱冲突怎么处理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

FlexSocket安全沙箱冲突怎么处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

FlexSocket安全沙箱冲突怎么处理

小编给大家分享一下FlexSocket安全沙箱冲突怎么处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!FlexSocket安全沙箱冲突及解决方案这是FP被广为唾
2023-06-17

Hashmap非线程安全关于hash值冲突怎么处理

本篇内容主要讲解“Hashmap非线程安全关于hash值冲突怎么处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hashmap非线程安全关于hash值冲突怎么处理”吧!hash值冲突该怎么处理
2023-06-30

怎么处理jQuery冲突问题

这篇文章主要介绍怎么处理jQuery冲突问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功能接口、高效灵活的
2023-06-14

NoSQL怎么处理数据冲突问题

NoSQL 数据库通常是分布式的,并且支持高并发访问。因此,在处理数据冲突时,常见的方法包括:使用乐观并发控制(Optimistic Concurrency Control):在更新数据时,先读取数据的版本号,然后再写入数据时检查版本号是否
NoSQL怎么处理数据冲突问题
2024-05-07

Perl中怎么处理加密和安全性

在Perl中处理加密和安全性通常使用Crypt::OpenSSL模块。这个模块提供了一系列加密算法和哈希函数,可以用来进行数据加密和解密,以及生成和验证数字签名等操作。另外,也可以使用Perl的Digest模块来计算数据的哈希值,以保证数据
Perl中怎么处理加密和安全性
2024-03-05

怎么用批处理设置IP安全策略

这篇文章主要介绍怎么用批处理设置IP安全策略,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!以下内容只有回复后才可以浏览   ipseccmd -w REG -p "XIAOWANG" -r "Block ICMP"
2023-06-08

怎么浅析RAID0/1安全差别及处理数据安全的应对方式

这篇文章将为大家详细讲解有关怎么浅析RAID0/1安全差别及处理数据安全的应对方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。【RAID0/1分析背景】基于之前接到用户的委托,萌生想要尝试
2023-06-04

阿里云服务器安全警告处理怎么修复

阿里云服务器安全警告处理通常涉及到以下几个方面:安全漏洞修补:当阿里云服务器遭到攻击时,安全漏洞是攻击者所需面临的头号难题。安全漏洞可能导致数据被窃取、身份盗用、恶意代码植入等风险。为了修补安全漏洞,阿里云将为服务器提供漏洞修复工具,使其能够安全地进行操作。数据备份:为了防止数据遭到破坏,阿里云服务器将提供数据备份功能,以确保重要数据不会丢失和被黑客攻击。账户安全设置:为了保证用户账户的
2023-10-26

NoSQL怎么处理多租户环境下的数据隔离和安全性问题

在多租户环境下,NoSQL数据库可以通过以下方式处理数据隔离和安全性问题:数据隔离:可以使用不同的数据库实例或命名空间来为每个租户分配独立的存储空间。这样可以确保不同租户的数据彼此隔离,避免数据混乱和泄露。访问控制:可以设置权限和角色来管
NoSQL怎么处理多租户环境下的数据隔离和安全性问题
2024-05-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录