簡體   English   中英

對非注冊用戶隱藏pdf

[英]Hide pdf to non registered users

我正在使用的這段代碼陷入僵局。 我有一個網站,用戶可以在其中注冊,並且可以在登錄時查看某些pdf。我的問題是,如何隱藏此文件以確保只有當前登錄的用戶可以訂閱。 我使用MySQL數據庫跟蹤用戶,並且一直在使用PHP進行所有服務器端編碼。 理想情況下,該解決方案無需用戶再次登錄或類似操作。 我不一定要尋找代碼(盡管它總是受到贊賞:D),但是在正確方向上的任何顛簸都是很好的。

感謝您提供的任何幫助。

if(isset($_COOKIE['login']))
{
    header('Content-Type', 'application/pdf');
    readfile('secret/books.pdf');
    exit();
}
else
{
    include('login.php');
}

保護用戶URL的唯一方法是要求登錄,這是您不希望執行的操作。 (很明顯,只要通過cookie或您正在使用的任何東西打開會話,該人就可以訪問它。)

但是請記住,一旦有人將其作為PDF的鏈接,他們就可以下載該文件並將其提供給其他人。 因此,我認為,您應該只專注於使普通人無法猜測URL。

換句話說,只要一個人可以輕松地復制PDF,只需將PDF放在不可猜測的URL上就足夠了。

也就是說,如果您想將其鎖定一點,則可以為每個用戶提供自己的PDF唯一URL。 因此,如果有人確實復制了該URL,那么您知道是誰做的。 另外,您可能會使URL在一定時間后過期。

該URL可以作為URL-> pdf查找存儲在數據庫中。 無需身份驗證即可訪問它。

關於此的兩個想法:1)將PDF存儲在公共可讀WWW文件夾之外,並將其包括給ayush建議的經過身份驗證的用戶2)使用htaccess使用用戶名和密碼保護文件,並使用curl訪問它。 cURL可以提供正確的憑據,而無需使用戶重新認證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM