當用戶通過本網站創建預訂時,將生成發票(pdf)並保存在資產/發票中。只有工作人員才能訪問這些文件下載併發送給客戶。但是,目前如果確切的網址被某人知道,他們是否可以訪問它,無論他們是否登錄。我試圖限制只有那些登錄到CMS的用戶才能訪問這些文件。有沒有辦法通過一些權限模塊來做到這一點?只有登錄到CMS時才允許訪問文件[SilverStripe]
2
A
回答
4
是安全資產模塊的後:https://github.com/silverstripe-labs/silverstripe-secureassets
有了它,你可以設置「反映sitetree頁面的訪問限制」文件/文件夾的權限。
+0
有一箇舊的和重寫版本。新版本應該可以在SSTR〜3.1和Apache下正常工作。 – munomono
0
當我試圖通過模塊來實現這一點時,我沒有得到任何結果。我所做的是爲了在assets目錄中添加一個私有文件夾,讓我的所有安全文件都在這個文件夾中。我加入含有私人文件夾內的htaccess文件:
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase/
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !cookie_name=cookie_value; [NC]
RewriteRule^/page-not-found [NC,L]
此代碼檢查特定cookie名稱和特定的cookie的值,如果這個條件不滿足,將用戶重定向到頁未發現的網址。
在我已經出現的CMS的預約系統的擴展中,我設置了cookie。這個cookie隨後在登錄到CMS時設置,如果用戶沒有這個cookie,他們將無法查看/ assets/private目錄中的任何文件/文件夾。
0
我已經做了一個模塊,而回來這樣做。 https://github.com/colymba/ss-privateassets
你可以嘗試它或使用它來編寫自己的。
相關問題
- 1. 只有在重定向時才允許訪問php文件
- 2. 如何只允許登錄的用戶訪問文件夾中
- 3. 只允許訪問WordPress中登錄用戶的文件
- 4. CodeIgniter只允許在登錄時訪問某些控制器
- 5. 只有管理員允許訪問wp-admin並登錄?
- 6. .htaccess - 只有在URL完全匹配時才允許訪問
- 7. 只允許通過CGI訪問文件
- 8. 只允許腳本訪問文件iis7.5
- 9. php只允許訪問某個文件?
- 10. 只允許Wordpress訪問視頻文件
- 11. 拒絕訪問特定文件,但允許在登錄後訪問該文件
- 12. 登錄只允許3 attemts
- 13. 只有登錄的用戶才能訪問PHP登錄頁面?
- 14. .htaccess登錄時允許文件類型
- 15. 只允許訪問登陸頁面目錄阿帕奇
- 16. 只允許訪問在django中未登錄的用戶
- 17. 只允許登錄用戶訪問私人頁面
- 18. 允許訪問html頁面只能登錄用戶
- 19. 只有在允許僅允許SQLException時才能引發EOFException?
- 20. Asp.net允許訪問管理員只有
- 21. ASP.Net成員資格只允許用戶在登錄時訪問操作
- 22. AngularJS和Django只允許在用戶登錄時訪問角度視圖
- 23. 只有在檢測到某個Wifi網絡時才允許登記
- 24. 當用戶登錄來自前端時,Yii2登錄允許訪問後端
- 25. 允許訪問的目錄
- 26. 允許訪問「所有拒絕」目錄
- 27. mod_rewrite不允許訪問現有目錄
- 28. 允許訪問的網站,只允許特定的IPS所有訪問特定文件
- 29. 登錄 - 只允許3次嘗試
- 30. 只允許在用戶登錄
你能告訴我們你到目前爲止所嘗試過的嗎? – Gerton
我已經刪除了代碼,但我可以解釋。我嘗試通過htaccess文件限制對IP地址的訪問(認爲CMS中的那些服務器會獲得服務器IP),但是他們沒有,並且它返回了個人IP,因此此選項無效。這就是我到目前爲止所嘗試的,我已經在網上尋找解決方案,但我似乎無法找到任何人有同樣的問題。 –