關於C 建立FLASH服務端的安全沙箱問題

2022-01-26 13:17:47 字數 1302 閱讀 9042

注意:xmlsocket 接收到服務端下發的資料時,將連續放於接收緩衝區,直到接收到 "\0" 位元組(位元組內容為 ascii 值 0),才認為接收完成,並呼叫相應的 ondata 或 onxml 事件,因此,服務端使用標準的 string 類族,則在傳送資料結尾應手動加上 "\0",同樣,當xmlsocket傳送資料時,也會在資料的結尾自動加上"\0"。

1、允許flash訪問網路

2、如果只是執行或者發布成exe,不除錯,不會出現問題,除錯之後出現安全沙箱問題

flash player 6 以上版本引入了安全策略檔案,在進行正式的通訊前,會檢查目標位置是否存在合法的安全策略,以防止不同域內的應用無限制任意互訪。

http 方式下,flash player 會檢查目標域根目錄下是否存在 crossdomain.xml,如果有,則獲取並分析其內容(內容後述)以確定是否允許繼續訪問。

socket 方式下,flash player 獲取安全策略稍微複雜些,從 9.0.115.0 版起,標準步驟如下(以下描述以 ie 為標準,例外情況後述):

1) 首先向目標主機 843 埠發起連線,並傳送乙個字串,內容為 "",並等待返回安全策略檔案並分析。

2) 若 1) 失敗,則檢查 as **中是否使用了 security.loadpolicyfile( "xmlsocket://主機:埠" ) 方法載入安全策略檔案,若有,則獲取並分析。

3) 若 2) 失敗,則向 as **中即將連線的 "目標主機:埠" 發起請求,過程同 1)。

4) 若成功獲得安全策略檔案並經分析認為允許建立連線,則繼續執行 connect() 方法,此時方真正嘗試建立與目標主機的連線。

解決方案:

1) 在服務端寫乙個程式,監聽 843 埠,當收到 "" 時將恰當的策略內容(crossdomain.xml)傳送回客戶端。

2) 在 as 中通過 loadpolicyfile() 載入策略檔案,此處需注意使用 xmlsocket:// 而不是 http://。

3) 在標準服務端口中,檢測到 "" 時,返回策略內容。

**如下

package

private function onclick(event:mouseevent):void

private function onconnect( event:event ):void }}

c# 新建執行緒執行下面函式

private void beginsafe()}}

建立高效能服務端

先後檢視了haproxy l7sw 和lighttpd 的 相關原始碼,無一例外,他們一致認為多路復用是效能最好的伺服器架構。事實也確實應該如此,程序的出現一方面就是為了儲存任務的執行上下文從而簡化應用程式 設計,如果程式的邏輯結構不是很複雜,那麼用整個程序控制塊來儲存執行上下文未免有些大材小用,加...

關於服務端資料加密

目前的情況下api被很多地方應用,隨之而來的是api的安全性問題。安全性問題有以下幾個方面 ddos 拒絕服務攻擊 介面被惡意呼叫,使真實的使用者無法享受到正常暢通的服務。這個比較單純,也比較容易處理,通過ip限制來做,並且輔以一些硬體裝置應該就沒問題了,同時伺服器 商也可以提供相應的服務。使用對稱...

C 服務端設計

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...