成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

FlexSocket安全沙箱沖突及解決方案

開發(fā) 后端
本文向大家簡單介紹一下FlexSocket安全沙箱沖突及解決方案,這是FP被廣為唾罵的特性之一,其設計糟糕至極。Adobe貌似認為9秒時間對用戶來說很短。

本文和大家重點討論一下FlexSocket安全沙箱沖突及解決方案,F(xiàn)lexSocket連接SocketServer時,javaSocket、c++Socket,抑或其它,首先會開一個Socket連接主機的843端口請求安全策略文件,這個時間為3秒;如果此步未能成功,則看開發(fā)者是否顯式調(diào)用了Security.loadPolicyFileAPI。

FlexSocket安全沙箱沖突及解決方案

這是FP被廣為唾罵的特性之一,其設計糟糕至極。Adobe貌似認為9秒時間對用戶來說很短。

1,糟糕的設計可能使用戶浪費9秒時間

FlexSocket連接SocketServer時,javaSocket、c++Socket,抑或其它,首先會開一個Socket連接主機的843端口請求安全策略文件,這個時間為3秒;如果此步未能成功,則看開發(fā)者是否顯式調(diào)用了Security.loadPolicyFileAPI,如下

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

如有,則再次嘗試從這個端口加載策略數(shù)據(jù),又是3秒。如果此步又未能OK,則嘗試從開發(fā)者定義的FlexSocket主機端口再次加載安全策略,此時會發(fā)送這樣一個請求:

  1. <policy-file-request/> 

如果SocketServer沒有處理這個請求,客戶端將無法進一步完成FlexSocket連接。這個過程又是3秒。如果軟件設計不當,客戶端將浪費9秒的時間才能知道它有沒有獲得Server的連接許可,這張門票有點貴了。FP如能成功加載到安全策略數(shù)據(jù),會把所用socket拋棄(即使從主機端口請求亦是如此),然后執(zhí)行開發(fā)者的socket連接邏輯。

2,合理的方案,用java實現(xiàn)

在SocketServer端單開一個843端口,用于專門向客戶端提供安全策略文件,java示例代碼如下:

  1. packagesban.socketServer;  
  2.  
  3. importjava.io.BufferedInputStream;  
  4. importjava.io.BufferedReader;  
  5. importjava.io.File;  
  6. importjava.io.FileInputStream;  
  7. importjava.io.IOException;  
  8. importjava.io.InputStreamReader;  
  9. importjava.io.PrintWriter;  
  10. importjava.net.InetSocketAddress;  
  11. importjava.net.ServerSocket;  
  12. importjava.net.Socket;  
  13. importjava.net.SocketAddress;  
  14. importjava.net.URL;  
  15.  
  16. /**  
  17. *sbanpolicyserverforflex/flashsocket  
  18. *  
  19. *@authorsban<http://sban.biz/> 
  20. *  
  21. */  
  22. publicclassSbanSocketPolicyServer{  
  23.  publicSbanSocketPolicyServer(){  
  24.  
  25.  }  
  26.  
  27.  publicstaticStringreadFileAsString(Stringurl)  
  28.    throwsjava.io.IOException{  
  29.   byte[]buffer=newbyte[(int)newFile(url).length()];  
  30.   BufferedInputStreamf=newBufferedInputStream(  
  31.     newFileInputStream(url));  
  32.   f.read(buffer);  
  33.   f.close();  
  34.   returnnewString(buffer);  
  35.  }  
  36.  
  37.  publicstaticvoidmain(String[]args)throwsIOException{  
  38.   ServerSocketserver=newServerSocket();  
  39.   SocketAddressendpoint=newInetSocketAddress("127.0.0.1",843);  
  40.   server.bind(endpoint);  
  41.   Stringpath=SbanSocketPolicyServer.class.getResource("../../crossdomain.xml").getPath();  
  42.   System.out.println(path);  
  43.   Stringpolicy=readFileAsString(path);  
  44.  
  45.   while(true){  
  46.    System.out.println("waitforclient...");  
  47.    Socketsocket=server.accept();  
  48.  
  49.    BufferedReaderin=newBufferedReader(newInputStreamReader(  
  50.      socket.getInputStream()));  
  51.    PrintWriterout=newPrintWriter(socket.getOutputStream());  
  52.    Strings=in.readLine();  
  53.    System.out.println(s);  
  54.  
  55.    if(s.indexOf("policy-file-request")>-1){  
  56.     out.print(policy+'\0');  
  57.     out.flush();  
  58.     in.close();  
  59.     out.close();  
  60.     System.out.println("sendedpolicycontext.");  
  61.     socket.close();  
  62.    }  
  63.   }  
  64.  
  65.  }  
  66. }  
  67.  

而crossdomain.xml文件的示例代碼為:

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

將crossdomain.xml文件與執(zhí)行文件放置一起

3,你可以借用的jar執(zhí)行文件

sban把上述java導出為jar可執(zhí)行文件:

SbanSocketPolicyServer.zip5.8KB

在Windows下,確定已安裝java環(huán)境,并已設定環(huán)境變量,在命令行窗口中執(zhí)行如下命令:

java-jarSbanSocketPolicyServer.jar

說明:該java程序未經(jīng)優(yōu)化,僅作為教程示例,不建議在商業(yè)項目中使用。
 

【編輯推薦】

  1. 解析Flex安全沙箱五大解決方法
  2. Flex安全沙箱問題解決方法
  3. 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則

 

 

責任編輯:佚名 來源: csdn.net
相關(guān)推薦

2024-02-22 11:23:16

2010-12-21 17:39:59

2010-12-24 13:05:22

2014-09-25 13:14:53

2020-04-20 09:37:41

移動邊緣計算云計算安全

2010-12-21 17:36:12

2011-01-21 09:50:31

2013-03-01 16:45:27

2012-09-24 14:51:39

2012-08-03 15:51:37

HillstoneNAT

2010-12-21 17:17:21

2011-06-21 09:01:02

2009-07-29 09:43:15

銀行網(wǎng)絡無線接入

2013-03-19 14:26:00

2010-12-24 12:47:20

2009-03-13 09:42:52

華為ICT安全

2011-03-22 13:06:28

DNS

2013-04-09 14:52:36

2018-01-11 21:32:45

機房漏電機房安全

2010-01-05 10:57:30

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www.4567| 91伦理片 | 久久久久久亚洲 | 国产精品一区二区免费 | 中文字幕高清 | 伊人狠狠干 | 天天草天天干天天 | 91久久久久久久久久久 | 日韩免费视频一区二区 | 国产欧美日韩一区二区三区 | 日韩精品在线免费观看 | 日韩欧美在线播放 | 色综合久 | 久草网站 | 成人精品福利 | 成人久久久久 | 国产精品免费一区二区三区四区 | 雨宫琴音一区二区在线 | 日韩欧美国产一区二区 | 欧产日产国产精品99 | 91小视频在线| 精品毛片在线观看 | 国产99久久久国产精品 | 国产成人99久久亚洲综合精品 | 亚洲国产精品视频一区 | 国产精品中文 | 欧美一区二区三区在线 | 一级一级一级毛片 | 亚洲人成人网 | 精品亚洲一区二区三区四区五区高 | 久久黄网 | 成人动慢| 国产高清一区二区 | 欧美精品91 | 国产精品一区二区av | 亚洲一区二区三区高清 | 国产综合精品一区二区三区 | www.亚洲一区二区三区 | 99亚洲精品| 国产精品国产三级国产aⅴ浪潮 | 久久久国产一区二区三区 |