2010-07-12 50 views
1

在上傳文件之前,我需要給名稱添加一些附加信息,以增加文件名唯一(無狀態)的機會。調用FileInfo.LastWriteTime-get將拋出一個SecurityException表示該過程需要提升權限。其中存在在Silverlight中獲取文件時間的危險?

我可以在某種程度上看到在這些數據中存在有關用戶的某些歷史信息,但也考慮到操縱它有多容易,但爲什麼?有沒有其他方式可以獲得類似的信息,而無需管理員託管的OOB?

回答

1

如果有方法來獲取這些信息而沒有提升權限,那麼這將是Silverlight中的一個漏洞。通常看到這些RIA平臺限制這一活動,Flex也有類似的限制。

如果您只需要一個唯一的文件名,那麼您可以使用時間戳+文件名。或md5(timestamp+random_value)+filename

0

號爲什麼?因爲Silverlight中的安全方法是儘可能減小攻擊面。通過獲得FileInfo真正獲得的是文件內容。爲什麼應用程序甚至應該知道內容在用戶的文件系統中可能會引起爭議的名稱。

如果你只是需要使該名稱唯一隻使用一個GUID: -

string fileTitle += Guid.NewGuid().ToString("D");