我修改使用一些JavaScript基於此標記值屬性下載文件.aspx頁:C#安全性:檢查查詢字符串有效的.pdf文件名
<input type="hidden" id="launchDocument" value="pdf/<%=Settings.LaunchDocument%>" >
該值是當前硬編碼到Web.config文件中。客戶希望這個頁面現在成爲他們存檔通訊的下載頁面。我的想法就是要在從查詢字符串的文件名的網頁拉那麼發送頁面可以定義正在被下載哪些文件:
<input type="hidden" id="launchDocument" value="../pdf/<%=Request.QueryString["filename"]%>" />
但是,我很擔心是否有任何安全風險,此方法。如果有,檢查查詢字符串的值的最佳做法是什麼,以確保它是一個有效的.pdf文件名,然後將其添加到頁面中?
在此先感謝您的幫助!
什麼是阻止某人將查詢字符串設置爲「../../../../Windows/system32/config/SAM」並下載您的Windows密碼文件?不要將路徑/文件名暴露給世界。保留數據庫中的文件列表並暴露文件的數據庫ID值。 – 2011-04-21 13:14:56