2011-06-15 91 views
2

我在我的網站上有一個鏈接。每當用戶點擊這個鏈接時,就會下載一個pdf文件在這個動作上。 但是,如果用戶知道文件鏈接他/她直接在瀏覽器中添加文件的地址,並且可以下載文件,則會出現問題。 我想通過在瀏覽器地址欄中輸入文件url來直接下載它。 對此的任何建議都很好。在asp.net中下載文件

問候

·賽義德

回答

0

好,

  • 可以使用令牌(這個 '令牌' 被保存在一個輸入類型= '隱藏' 的名字= '令牌' 值=」 HTML元素的標記值」,以後使用)
  • 檢查,如果引用者是你的表單頁面

'標記',你檢查開始下載PDF文件的小時。

我不能在asp.net中做到這一點,但你可以看看ASP.net。

簡單的例子代碼:

<? 
$token = $_SESSION['token'] = md5(uniqid()); 
echo "<form method='POST' action=""><input type='hidden' name='token' value='$token'> 
     <input type='submit' value='Go!'>"; 

if($_POST["token"] == $token) { 
    //show link pdf file 
}else { 
    die('Access denied'); 
} 

?> 

我沒有說什麼,這是總的安全,說是一個另類。

0

將文件放在網站文件夾中的一個文件夾中,並使用表單身份驗證和位置屬性將身份驗證從web.config設置爲此文件夾。用戶需要登錄才能下載PDF。

<authentication mode="Forms"> 
      <forms defaultUrl="Default.aspx" loginUrl="~/adminlogin.aspx" slidingExpiration="true" timeout="30"></forms> 
     </authentication> 

     <location path="[PDF Folder]"> 
     <system.web> 
      <authorization> 
       <allow roles="[role]"/> 
       <deny users="*"/> 
      </authorization> 
     </system.web> 
    </location> 

This is only sample Get more details about above from net.