簡體   English   中英

生成唯一的 URL 允許訪客上傳文件到服務器

[英]Generate unique URL that allows guest to upload file to server

我正在開發一個應用程序,其中我有一個 web 界面用於我的牆上的屏幕,目標是讓我的朋友將圖像上傳到它。

現在我有一個基本的 web 接口和登錄,它驗證 session 並有一個允許上傳圖像和更改屏幕參數的頁面。 參數以及登錄詳細信息存儲在 MySQL 數據庫中。 這部分我很大程度上基於此鏈接中詳述的方法: https://phppot.com/php/secure-remember-me-for-login-using-php-session-and-cookies/

理想情況下,我可以讓我的朋友以盡可能簡單的安全方式將圖像上傳到此屏幕。 我想象的是一個獨特的 URL 鏈接,可以發送給他們,這會將他們帶到他們可以上傳圖像但無權更改任何屏幕參數等的頁面。 這個 URL 將允許任何擁有它的人上傳圖片,但我希望屏幕的所有者也能夠停用 URL 如果它不再安全。 理想情況下,所有者可以生成許多可以與不同人共享的 URL,這些 URL 都將上傳到同一個屏幕。

我的問題首先是,這是一個好方法嗎?有沒有辦法安全地做到這一點(無需打開對屏幕參數的訪問等)? 我寧願避免向這些“訪客”用戶提供登錄詳細信息,因為這是要記住的另一個帳戶,並降低了上傳到屏幕的簡單性。

我的下一個問題是如何做到這一點? 我目前的想法是創建一個包含屏幕 ID 列的新數據庫(以允許它在我有多個屏幕時工作)並鏈接 URL。 屏幕所有者將生成某種隨機字符串作為 URL 並將其保存到數據庫中。 只有在數據庫中找到重定向的 URL 時,“訪客”上傳頁面才允許上傳。 現在,我正在查看附屬鏈接示例以獲取有關如何實現此功能的想法,但如果有人對要搜索的內容或其他示例有更好的建議,那將有很大幫助。

我對 web 開發非常陌生,所以我不確定我描述的方法是否足夠清楚,或者我的目標是否有意義。 我也非常不確定我可能會通過這種方法引入的任何安全問題,所以任何人有建議或可能的陷阱請告訴我。 我不知道我不知道多少。

您可以使用令牌:使用 php 生成令牌

您生成一個帶有令牌的 URL,然后將其發送給您的朋友:www.myULR/token

之后,您創建一個表令牌,其中所有令牌都帶有用戶 ID 的關節,您應該使用 PHP 輕松驗證,如果令牌存在並且用戶不是冒名頂替者,則允許他上傳文件。

暫無
暫無

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

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