1. 程式人生 > >flex的Socket通訊沙箱和安全策略問題

flex的Socket通訊沙箱和安全策略問題

    2、Flash中的通訊方式有兩種:
    1.HTTP方式:如URLLoader等用於載入遠端swf、檔案、影象、音視訊流。
    2.Socket主要:如 XMLSocket,用於與遠端服務端建立長效連線。
    Flash Player6以上版本引入了安全策略檔案,在進行正式的通訊前,會檢查目標位置是否存在合法的安全策略,以防止不同域內的應用無限制任意互訪。
    HTTP方式下,Flash Player會檢查目標域根目錄下是否存在crossdomain.xml,如果有,則獲取並分析其內容(內容後述)以確定是否允許繼續訪問。
    Socket方式下,Flash Player獲取安全策略稍微複雜些,從9.0.115.0版起,標準步驟如下(以下描述以IE為標準,例外情況後述):(注:以下是執行Connect()函式自動執行的)
     1)首先向目標主機 843 埠發起連線,併發送一個字串,內容為"<policy-file-request/>",並等待返回安全策略檔案並分析。
     2)若1)失敗,則檢查AS程式碼中是否使用了Security.loadPolicyFile("xmlsocket://主機:埠")方法載入安全策略檔案,若有,則獲取並分析。
     3)若2)失敗,則向AS程式碼中即將連線的 "目標主機:埠" 發起請求,過程同1)。
     4)若成功獲得安全策略檔案並經分析認為允許建立連線,則繼續執行Connect()方法,此時方真正嘗試建立與目標主機的連線。

  3、解決方案
    HTTP 連線方式不用再說,只說說 Socket 方式。
    1) 在服務端寫一個程式,監聽843埠,當收到 "<policy-file-request/>" 時將恰當的策略內容(crossdomain.xml)傳送回客戶端。
    2) 在AS中通過loadPolicyFile()載入策略檔案,此處需注意使用xmlsocket://,而不是 http://。
    3) 在標準服務埠中,檢測到"<policy-file-request/>"時,返回策略內容。

  4、例外情況及測試結果
    經測試發現,在IE,Opera中,Flash Player會嚴格按上述步驟檢查安全策略。
    在 FireFox, Chrome中發起連線時,Flash Player並不會向服務端傳送"<policy-file-request/>",而是直接連線成功。這應該是Flash Player不同實現版本的原因。

    5、資料傳輸中的問題
     在XMLSocket資料傳輸中,需要注意以下細節,否則會出來些莫名其妙的問題。
       1.結束符號
     XMLSocket接收到服務端下發的資料時,將連續放於接收緩衝區,直到接收到"/0"位元組(位元組內容為ASCII值0),才認為接收完成,並呼叫相應的onData或onXML事件。
     服務端若用Java編寫,並使用標準的String類族,則在傳送資料結尾應手動加上"/0"。
     若用 C++ 編寫,由於C++中標準字串型別便是以位元組0作結束標記,故不必再加"/0"。
     * C++中需注意另一個問題,若自行進行了字串處理,在決定字串長度時,標準的strlen及String.Length()等返回的均是實際有效字元個數,最終向網路傳送時,總長度應加1位元組,以容納結尾的位元組0。
     * 此問題在傳送安全策略內容時同樣存在,故需重視。

       2.中文問題
     預設情況下,不管從哪一端發向另一端的資料,若包含了中文字元,都會產生亂碼的現象,解決方法有二:
     1).在AS中加入"System.useCodepage=true;" 強制使用原生代碼集,此法最方便,但是在跨語種平臺上仍會出現亂碼。
     2).在程式碼中自行編寫轉碼函式,此法複雜些,但通用性強。具體轉碼演算法網上很多,主要是C++服務端需要,Java中使用JDK類轉換為UTF-8即可。

相關推薦

flex的Socket通訊沙箱安全策略問題

    2、Flash中的通訊方式有兩種:    1.HTTP方式:如URLLoader等用於載入遠端swf、檔案、影象、音視訊流。    2.Socket主要:如 XMLSocket,用於與遠端服務端建立長效連線。    Flash Player6以上版本引入了安全策略檔案,在進行正式的通訊前,會檢查目

Win2008 R2伺服器入站規則安全策略簡介

轉自:http://www.jb51.net/article/86408.htm 安全是重中之重,以最少的服務換取最大的安全。通過只啟用需要用到的服務、關閉暫時用不到的服務或不用的服務,這樣最大程度來提高安全性。 作為web伺服器,並不是所有預設服務都需要的,所以像列印

服務器怎麽導入安全策略的方法步驟,不管是美國 香港還是站群服務器都一樣

登陸 香港 到你 spa 安全策略 雲服務器 服務器 都在 win 現在很多客戶都在問我怎麽導入安全策略,就給大家分享下方法。 服務器怎麽導入安全策略的方法和步驟,不管是美國 香港還是站群服務器都一樣 我就以windows08系統為例給大家寫下步驟,全段時間因為微軟勒索病毒

5-華為防火墻:二層三層接入的安全策略配置差異

分享 fire static com color vlan rust 技術 -a 一、實驗拓撲: 二、實驗要求:1、內網:連接R2接口G0/0/2是三層接口,其它接口都是二層接口;R1、R2、R3部署默認路由到USG;2、USG上創建VLAN 10、202,並將G0/0/0

本地策略策略,更改安全設定使用者許可權分配相容性問題

如果您更改安全設定和使用者許可權分配,則可能會導致客戶端、服務和程式問題發生 適用於: Microsoft Windows Server 2003 Standard Edition (32-bit x86)Microsoft Windows Server 2003 Datacenter

讓XP HOME使用組策略、本地使用者組、安全策略以及檔案訪問許可權的修改

朋友中有很多用的是筆記本,大多是預裝的XP home版,home版平時使用尚可,但功能卻遠不如XP pro 曾經就幫很多朋友維護系統,發現System Volume Information這個資料夾可以迅速的將系統磁碟塞滿,對於筆記本硬碟,甚至是我這樣給系統區劃了30G的人,

針對目前windows系統的所有勒索病毒補丁安全工具

windows 勒索病毒 安全工具 針對目前windows系統的所有勒索病毒補丁和安全工具https://pan.baidu.com/s/1boBiHNx 可以下載到內網進行安裝。本文出自 “simeon技術專欄” 博客,請務必保留此出處http://simeon.blog.51cto.com/1

C語言printf()函數具體解釋安全隱患

color getc .net 正常 world! print hello mat 內容 一、問題描寫敘述 二、進一步說明 請細致註意看,有例如以下奇怪的現象 int a=5; floatx=a;

Linux服務器安全策略

linux 安全1 服務器一般安全策略:1) 最好使用硬件防火墻,iptables INPUT鏈默認策略為DROP,開啟必要的端口。2) 密碼絕對安全,24位以上3) 采取密鑰登陸,防止暴力破解,禁止root登陸,普通用戶+密鑰認證+IP限制+用戶限制4) 定期分析系統的日誌文件,如last,lastlog,

如何在 CentOS 7 中安裝、配置安全加固 FTP 服務

cte success fire lease 註意 tps tran sub linux 步驟 1:安裝 FTP 服務器 1、 安裝 vsftpd 服務器很直接,只要在終端運行下面的命令。 # yum install vsftpd 2、 安裝完成後,服務先是被禁用的,因

內容安全策略(CSP)_防禦_XSS_攻擊的好助手

script base 訪問 apple pan header 數據 指定 security 原文鏈接 摘要: 什麽是 CSP? 其核心思想十分簡單:網站通過發送一個 CSP 頭部,來告訴瀏覽器什麽是被授權執行的與什麽是需要被禁止的。 這裏有一個 PHP 的例子: <

淺談java內存分配回收策略

內存空間 高效率 cde map details 閾值 老年代 total 關於 一、導論   java技術體系中所提到的內存自動化管理歸根結底就是內存的分配與回收兩個問題,之前已經和大家談過java回收的相關知識,今天來和大家聊聊java對象的在內存中的分配。通俗的講,對

Api接口通用安全策略及實現-OSS.Core

參數 num 我會 信息 簽名 算法 活躍度 webapi 參與   這篇文章一直說寫,遲遲沒有動手,這兩天看到一些應用接口數據被別人爬蟲、短信接口被人高頻率請求攻擊等案列,感覺簡單概述分享一下接口安全驗證還是有必要的。畢竟當下基本都以客戶端應用為主,如果前期疏忽,發布之後

【大數據系列】HDFS文件權限安全模式、安裝

重新啟動 inux 客戶 元數據 masters cnblogs 格式 新的 檢測 HDFS文件權限 1、與linux文件權限類型 r:read w:write x:execute權限x對於文件忽略,對於文件夾表示是否允許訪問其內容 2、如果linux系統用戶sanglp

Linux網絡安全策略

網絡 安全      一、服務器安全:       1. 關閉無用的端口       任何網絡連接都是通過開放的應用端口來實現的。如果我們盡可能少地開放端口,就使網絡攻擊變成無源之水,從而大大減少了攻擊者成功的機會。        首先檢查你的inetd.conf文件。inetd在某些端口上守侯,準備

.NET Framework 企業安全策略管理與部署

策略管理 highlight light 步驟 工具 級別 soft true arp 執行下列步驟,以便.NET Framework 支持所有程序運行 1.打開“控制面板”。 2.打開“管理工具”文件夾。 3.雙擊“Microsoft .NET Framew

MYSQL安全策略→▉收集整理▋

mysql 安全策略 MySQL安全策略導讀數據庫安全運維是企業業務正常運轉的基石,容不得馬虎除了MySQL自身的賬號密碼安全管理,系統層面、應用層面的安全策略你註意到了嗎?數據是企業核心資產,數據對企業而言是最重要的工作之一。稍有不慎,極有可能發生數據無意泄露,甚至被黑客惡意竊取的風險。每年業界都會

Java 並發編程(二)對象的不變性安全的公布對象

不一致 字段 更新 要求 nts ava 然而 caching mut 一、不變性 滿足同步需求的還有一種方法是使用不可變對象(Immutable Object)。到眼下為止,我們介紹了很多與原子性和可見性相關的問題,比如得到失效數據。丟失更新操作

hibernate查詢方式查詢策略

創建 檢索策略 聯系人 多表 左外連接 基本上 如果 唯一標識 情況 1.Hibernate框架的查詢方式 1) 唯一標識OID的檢索方式 * session.get(對象.class,OID) 2) 對象的導航的方式 3) HQL的

【第三篇】ASP.NET MVC快速入門之安全策略(MVC5+EF6)

對象 code word 單身 script ticket bsp 金額 class 【第一篇】ASP.NET MVC快速入門之數據庫操作(MVC5+EF6) 【第二篇】ASP.NET MVC快速入門之數據註解(MVC5+EF6) 【第三篇】ASP.NET MVC快速入門之