簡體   English   中英

使用PHP身份驗證的HTTP身份驗證

[英]HTTP authentication using PHP authentication

我正在為我的站點創建一個成員區域,並且它已經在運行。 我使用mysql和php對成員進行身份驗證,這確實很好。

但是現在出現了問題,我想為成員提供將文件上傳到系統的可能性,並且這些文件應僅對登錄成員可用。

我知道我可以將這些文件存儲到數據庫甚至文件系統中,並通過php提供服務,但是當成員上傳較大的文件時,這對於服務器將變得非常沉重。 這些文件可能甚至20MB甚至更大。

我想讓apache提供文件,但是只需要找到一種自動執行http身份驗證的方法,這樣用戶就不需要登錄兩次。 我想可以在一個用戶名和密碼后面進行此HTTP身份驗證,例如,當用戶登錄php和mysql身份驗證時,透明地同時使用javascript等,這樣也可以進行http身份驗證,每個成員都可以具有相同憑據的http身份驗證。 當然,我不想將這些http auth憑證存儲在javascript文件中,但是諸如解決方案之類的ajax也許可以解決問題。 我只是不確定如何執行此操作。

似乎您將身份驗證(您提供某種登錄方式)與HTTP身份驗證(您專門使用HTTP協議進行身份驗證,瀏覽器向用戶顯示彈出窗口)混淆了。

您可能希望使用前者,以便可以設置登錄頁面的樣式。 在這種情況下,您將必須使用PHP或某些腳本語言來檢查用戶是否已登錄。fpassthrureadfile對於某些網站可能是很好的解決方案;請參閱。 對於此類工作,它們是快速且經過優化的。

如果您確實想在Web瀏覽器中而不是在PHP中執行文件處理工作,則一種解決方案是創建唯一的,短暫的文件名。 例如,您可以使用link在PHP中創建到文件的硬鏈接,然后將用戶重定向到臨時文件名。 將硬鏈接存儲在數據庫中,不久后將其刪除。

檢出使用PHP / Apache限制對靜態文件(html,css,img等)的訪問 我認為那里采取的方法與您的問題非常相似。

暫無
暫無

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

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