搜尋部落格文章

2013年4月23日 星期二

[轉] allowScriptAccess與allowNetworking的用法介紹



AllowScriptAccess用法sameDomain:僅當SWF 文件和網頁位於同一域中時才允許執行外出腳本訪問。這是AVM2 內容的默認值。never:外出腳本訪問將始終失敗。always:外出腳本訪問將始終成功

剛才遇到前台發來的一個消息,一個蓮花鐘模塊總是彈出頁面,查了一下,發現這個模塊是很早以前就已經審核通過了,以前沒有發生過問題,看來是flash文件被人修改了。問了一下其他人,如何在不修改flash本身的情況下,禁止彈出窗口,果然是有方法,就是引用的時候設置一下allowNetWorking="none" allowScriptAccess="never"就行了。又學了一招。

  到網上找了一份介紹這兩個屬性的資料,貼在這裡做個備忘

  1,AllowScriptAccess

  參數:

  sameDomain:僅當SWF文件和網頁位於同一域中時才允許執行外出腳本訪問。這是AVM2內容的默認值。
  never:外出腳本訪問將始終失敗。
  always:外出腳本訪問將始終成功。

  AllowScriptAccess參數可以防止從一個域中承載的SWF文件訪問來自另一個域的HTML頁面中的腳本。
  對從另一個域承載的所有SWF文件使用AllowScriptAccess="never"可以確保位於HTML頁面中的腳本的安全性。


2,allowNetworking 参数: all(默认值)― SWF 文件中允许使用所有网络 API。 internal― SWF 文件可能不调用浏览器导航或浏览器交互 API,但是它会调用任何其它网络 API。 none― SWF 文件可能不调用浏览器导航或




  2,allowNetworking

  参数:

  "all"(默认值)― SWF 文件中允许使用所有网络 API。
  "internal"― SWF 文件可能不调用浏览器导航或浏览器交互 API,但是它会调用任何其它网络 API。
  "none"― SWF 文件可能不调用浏览器导航或浏览器交互 API,并且它无法使用任何 SWF 到 SWF 通信 API。

  可以控制 SWF 文件对网络功能的访问。调用被禁止的 API 会引发 SecurityError 异常。

  当 allowNetworking 设置为 "internal" 时,以下 API 被禁止:

  navigateToURL()
  fscommand()
  ExternalInterface.call()

  当 allowNetworking 设置为 "none" 时,除了上面列出的那些 API 外,还会禁止以下 API:

  sendToURL()
  FileReference.download()
  FileReference.upload()
  Loader.load()
  LocalConnection.connect()
  LocalConnection.send()
  NetConnection.connect()
  NetStream.play()
  Security.loadPolicyFile()
  SharedObject.getLocal()
  SharedObject.getRemote()


  Socket.connect()


3,allowFullScreen 參數: 啟用全屏模式設置為true,否則設置為false(默認值) 僅當在響應鼠標事件或鍵盤事件時才會調用啟動全屏模式的ActionScript。如果在其它情況中調用,Flash Player 會引發異常。在全屏模




  3,allowFullScreen

  參數:

  啟用全屏模式設置為"true",否則設置為"false"(默認值)
  僅當在響應鼠標事件或鍵盤事件時才會調用啟動全屏模式的ActionScript。如果在其它情況中調用,Flash Player會引發異常。
  在全屏模式下,用戶無法在文本輸入字段中輸入文本。所有鍵盤輸入和鍵盤相關的ActionScript在全屏模式下均會被禁用,但將應用程序返回標準模式的鍵盤快捷鍵(例如按Esc)除外。
  當內容進入全屏模式時,程序會顯示一條消息,指導用戶如何退出和返回標準模式。該消息將顯示幾秒鐘,然後淡出。
  如果某個調用方與Stage所有者(主SWF文件)沒有位於同一安全沙箱,則調用Stage對象的displayState屬性會引發異常。
  管理員可以通過在mms.cfg文件中設置FullScreenDisable = 1對瀏覽器中運行的SWF文件禁用全屏模式。
  在瀏覽器中,必須在HTML頁面中包含SWF文件,才能進入全屏模式。
  在獨立的播放器或放映文件中始終允許全屏模式。(水中的魚)
< object classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase = "http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=9,0,28, 0"

width = "100%" height = "100%" >
< param name = "movie" value = "falsh.swf" />
< param name = "quality" value = "high" />
< param name = "AllowScriptAccess" value = "sameDomain" />
< param name = "allowNetworking" value = "all" />
< param name = "allowFullScreen" value = "true" />
< embed src = "falsh.swf" width = "100%" height = "100%" quality = "high"

pluginspage = "http://www.adobe.com/shockwave/download/download.cgi? P1_Prod_Version=ShockwaveFlash "

type = "application/x-shockwave-flash"

allowscriptaccess = "sameDomain" allownetworking = "all"

allowfullscreen = "true" > </ embed >
</ object >


 AllowScriptAccess用法sameDomain:僅當SWF 文件和網頁位於同一域中時才允許執行外出腳本訪問。這是AVM2 內容的默認值。never:外出腳本訪問將始終失敗。always:外出腳本訪問將始終成功
剛才遇到前台發來的一個消息,一個蓮花鐘模塊總是彈出頁面,查了一下,發現這個模塊是很早以前就已經審核通過了,以前沒有發生過問題,看來是flash文件被人修改了。問了一下其他人,如何在不修改flash本身的情況下,禁止彈出窗口,果然是有方法,就是引用的時候設置一下allowNetWorking="none" allowScriptAccess="never"就行了。又學了一招。
  到網上找了一份介紹這兩個屬性的資料,貼在這裡做個備忘
  1,AllowScriptAccess
  參數:
  sameDomain:僅當SWF文件和網頁位於同一域中時才允許執行外出腳本訪問。這是AVM2內容的默認值。
  never:外出腳本訪問將始終失敗。
  always:外出腳本訪問將始終成功。
  AllowScriptAccess參數可以防止從一個域中承載的SWF文件訪問來自另一個域的HTML頁面中的腳本。
  對從另一個域承載的所有SWF文件使用AllowScriptAccess="never"可以確保位於HTML頁面中的腳本的安全性。

2,allowNetworking 参数: all(默认值)― SWF 文件中允许使用所有网络 API。 internal― SWF 文件可能不调用浏览器导航或浏览器交互 API,但是它会调用任何其它网络 API。 none― SWF 文件可能不调用浏览器导航或
  2,allowNetworking
  参数:
  "all"(默认值)― SWF 文件中允许使用所有网络 API。
  "internal"― SWF 文件可能不调用浏览器导航或浏览器交互 API,但是它会调用任何其它网络 API。
  "none"― SWF 文件可能不调用浏览器导航或浏览器交互 API,并且它无法使用任何 SWF 到 SWF 通信 API。
  可以控制 SWF 文件对网络功能的访问。调用被禁止的 API 会引发 SecurityError 异常。
  当 allowNetworking 设置为 "internal" 时,以下 API 被禁止:
  navigateToURL()
  fscommand()
  ExternalInterface.call()
  当 allowNetworking 设置为 "none" 时,除了上面列出的那些 API 外,还会禁止以下 API:
  sendToURL()
  FileReference.download()
  FileReference.upload()
  Loader.load()
  LocalConnection.connect()
  LocalConnection.send()
  NetConnection.connect()
  NetStream.play()
  Security.loadPolicyFile()
  SharedObject.getLocal()
  SharedObject.getRemote() 
  Socket.connect() 

3,allowFullScreen 參數: 啟用全屏模式設置為true,否則設置為false(默認值) 僅當在響應鼠標事件或鍵盤事件時才會調用啟動全屏模式的ActionScript。如果在其它情況中調用,Flash Player 會引發異常。在全屏模
  3,allowFullScreen
  參數:
  啟用全屏模式設置為"true",否則設置為"false"(默認值)
  僅當在響應鼠標事件或鍵盤事件時才會調用啟動全屏模式的ActionScript。如果在其它情況中調用,Flash Player會引發異常。
  在全屏模式下,用戶無法在文本輸入字段中輸入文本。所有鍵盤輸入和鍵盤相關的ActionScript在全屏模式下均會被禁用,但將應用程序返回標準模式的鍵盤快捷鍵(例如按Esc)除外。
  當內容進入全屏模式時,程序會顯示一條消息,指導用戶如何退出和返回標準模式。該消息將顯示幾秒鐘,然後淡出。
  如果某個調用方與Stage所有者(主SWF文件)沒有位於同一安全沙箱,則調用Stage對象的displayState屬性會引發異常。
  管理員可以通過在mms.cfg文件中設置FullScreenDisable = 1對瀏覽器中運行的SWF文件禁用全屏模式。
  在瀏覽器中,必須在HTML頁面中包含SWF文件,才能進入全屏模式。
  在獨立的播放器或放映文件中始終允許全屏模式。(水中的魚)
  1. < object  classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   codebase = "http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=9,0,28, 0"  width = "100%"  height = "100%" >   
  2. < param  name = "movie"  value = "falsh.swf"  />   
  3. < param  name = "quality"  value = "high"  />   
  4. < param  name = "AllowScriptAccess"  value = "sameDomain"  />   
  5. < param  name = "allowNetworking"  value = "all"  />   
  6. < param  name = "allowFullScreen"  value = "true"  />   
  7. < embed  src = "falsh.swf"  width = "100%"  height = "100%"  quality = "high"   pluginspage = "http://www.adobe.com/shockwave/download/download.cgi? P1_Prod_Version=ShockwaveFlash "  type = "application/x-shockwave-flash"   allowscriptaccess = "sameDomain"  allownetworking = "all"   allowfullscreen = "true" > </ embed >   
  8. </ object > 


沒有留言:

張貼留言