還有人認爲Silverlight 4的安全性有點瘋狂嗎?我需要幫助瞭解Silverlight 4的安全性
請看以下情形:
- 的Silverlight當設置爲受信任的應用程序,並運行的瀏覽器模式下,可以瀏覽使用打開文件對話框的文件。
- 您需要文件路徑的名稱才能從任何COM自動化中打開它。例如(excel/word),但這可能是任何東西。
- 由於安全限制,無法從對話框中獲取文件的完整路徑
- 但是,您可以使用COM FileSystemObject - 執行用戶文件系統的任何操作,包括創建文件夾,移動和刪除文件。
換句話說,爲什麼所有關於Silverlight中安全性的事情,實際上阻礙了真正的業務用例,何時可以使用COM來訪問任何文件呢?要說另一種說法,如果用戶運行惡意Silverlight應用程序,那麼他們不太可能會說 - 嗯,這是COM的錯。 COM最終被Silverlight應用程序調用。
這裏是我的意思....
- 用戶瀏覽文件 - C:\ myFile.xls
- Silverlight的阻止你得到的路徑(出於安全原因)只
- 的Silverlight可以讓你使用我的文檔
- 使用COM你可以在背景中做任何你想要的文件系統。包括現在將該文件複製到我的文檔,只要你知道這個名字!但除此之外,如果任何文件未被使用,可以將其擦除。
在我看來Silverlight的安全模式是有缺陷的,或者他們應該給開發者充分的信任,讓我們來運行應用,就好像它們在本地運行
或
不允許Silverlight來訪問COM 。
這只是我,還是其他人可以看到它的一個不好的實現?
這會觸發安全警報:
OpenFileDialog flDialog = new OpenFileDialog();
FileInfo fs = flDialog.File;
string fileName = fs.FullName;
這不
dynamic fileSystem = AutomationFactory.CreateObject("Scripting.FileSystemObject");
fileSystem.CopyFile(anyFileName,anyDestination);
什麼會更好,只是能夠從對話框抓取file.FullName。我不確定會拋出安全限制。因爲我無法做到這一點 - 我最終不得不看看Java或Adobe Air等其他fraemworks,或者使用服務器端解決方案。所以在這種情況下,不幸的是Silverlight無法處理我們的業務需求用例。 – 2010-12-01 00:13:02