Flash 安全性原則配置(1)

來源:互聯網
上載者:User

最近在Flash與Jsp通訊的時候,會發現Flash不能與JSP相互發資訊。真是一件很鬱悶的事情,把官方文檔看了一下,發現了一個簡單解決辦法。官方提供的第一種辦法是,使用者管理控制。這種全域的解決方案,可以解決Flash與Jsp通訊的一個問題。

 

 

解決的辦法如下:

第一步

請在系統裡面找到這個路徑目錄:

C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust

 

FlashPlayerTrust這個檔案夾是一個信任地區。

 

我們可以見到幾個尾碼的檔案,xxx.cfg的檔案。為了能夠解決Flash與jSp的通訊問題,我在這個目錄下建立一個名為dev的文本:

 

 

第二步:

建立dev.txt的文本,然後寫上Flash的檔案所在目錄,我把這個目錄放在I盤的Test檔案夾裡面,然後修改尾碼變成了cfg檔案

dev.cfg檔案

 

 

檔案的所在目錄:

 

 

 

準備完後,開始測試我們的檔案:

準備一個JSP檔案,如下,準備接受用戶端返回來的兩個資訊

<%@ page language="java" pageEncoding="UTF-8"<br />%><%String username=request.getParameter("username");<br />String userpwd=request.getParameter("userpwd");<br />out.println("msg="+username);<br />%></p><p>

 

 

準備用戶端:簡單的測試一下。

 package<br />{<br />import flash.net.URLLoader;<br />import flash.net.URLRequest;<br />import flash.events.*;<br />import flash.net.URLVariables;<br />import flash.net.URLLoaderDataFormat;<br />import flash.net.*;<br />public class Connect extends EventDispatcher<br />{<br />//串連的網址<br />public static const myurl:String="http://localhost:8080/flash2/receive.jsp";<br />public function Connect()<br />{</p><p>}<br />public function sendMessage(para:URLVariables,myurl:String):void<br />{//設定發送資料的變數 </p><p>//設定發送資料的方式<br />var request:URLRequest=new URLRequest();<br />request.url=myurl;<br />request.method=URLRequestMethod.POST;//發送的方式 post<br />request.data=para;</p><p>//發送資料<br />var loader:URLLoader=new URLLoader();<br />loader.dataFormat=URLLoaderDataFormat.VARIABLES;//發送資料的格式<br />loader.addEventListener(Event.COMPLETE,completeHandler);<br />loader.addEventListener(IOErrorEvent.IO_ERROR ,IoHandler);<br />loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,SecurityHandler);<br />loader.load(request);<br />}<br />private function completeHandler(event:Event):void<br />{<br />var loader:URLLoader=URLLoader(event.target);<br />trace(loader.data);<br />trace(loader.data.msg);<br />}<br />private function IoHandler(event:IOErrorEvent):void<br />{<br />trace("wrong");<br />}<br />private function SecurityHandler(event:SecurityErrorEvent):void<br />{<br />trace("wrong2");<br />}<br />}<br />}

 

package<br />{<br />import flash.display.Sprite;<br />import flash.events.*;<br />import flash.text.*;<br />import flash.display.SimpleButton;<br />import fl.controls.Button;<br />import flash.net.*;<br />public class main extends Sprite<br />{<br />private var con:Connect;<br />private var username:TextField;<br />private var pwd:TextField;<br />public function main()<br />{<br />con=new Connect();</p><p>init();<br />}</p><p>private function init():void<br />{</p><p>username=new TextField();<br />addChild(username);<br />username.width=200;<br />username.height=20;<br />username.x=stage.stageWidth/2;<br />username.y=stage.stageHeight/2;<br />username.type = TextFieldType.INPUT;//輸入方式<br />username.border = true;//邊框<br />username.background = true;</p><p>pwd=new TextField();<br />addChild(pwd);<br />pwd.width=200;<br />pwd.height=20;<br />pwd.x=stage.stageWidth/2;<br />pwd.y=stage.stageHeight/2+22;<br />pwd.type = TextFieldType.INPUT;//輸入方式<br />pwd.border = true;//邊框<br />pwd.background = true;</p><p>var btn:Button=new Button();<br />addChild(btn);<br />btn.width=40;<br />btn.height=20;<br />btn.label="Send";<br />btn.x=stage.stageWidth/2;<br />btn.y=stage.stageHeight/2+50;<br />btn.addEventListener(MouseEvent.CLICK,SendHander);</p><p>}<br />private function SendHander(e:MouseEvent):void<br />{<br />if (username.text!="" && pwd.text!="")<br />{<br />trace("send ok");<br />var para:URLVariables=new URLVariables();<br />para.username=username.text;<br />para.userpwd=pwd.text;<br />con.sendMessage(para,Connect.myurl);<br />} else<br />{<br />trace("不能發送空資訊");<br />}<br />}<br />}<br />}

 

這樣就可以簡單發送一下資訊了,由於程式還是可以完善這裡懶惰一下,主要說明的是那個安全配置的問題

 

 

 

在程式裡面,我們要小心

public static  const myurl:String="http://localhost:8080/flash2/receive.jsp";

 

我們的swf檔案 不在tomcat目錄下,只要在其他盤裡面。在本地測試的時候,可以在

C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust

 

添加swf檔案的所在目錄,這樣簡單的問題就可以解決。現在可以通訊了。

 

 

注意:防火牆的引發的問題,有時候會攔截訊息,因此關閉測試就沒有事情了。當然這僅僅是一種特殊的情況

 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.