我正在创建一个基于浏览器的图像云服务,每个用户都有自己的图片文件夹。
我的问题是如何确保其他用户或黑客无法访问外部文件夹。要考虑什么?
例如检查会话变量是否足够?
提前致谢!
我不是 100% 通过检查会话变量来确定您的意思。
我会创建一个这样的设置:
\root
\userImages
\user1
\img1.png
\img2.png
\user2
\img1.png
\img2.png
\public
\index.php
我假设你会使用 PHP 或 ASP.NET 或类似的东西,它们使用某种类型的服务器,如 nginx 或 apahce。您可以将服务器根目录设置为公用文件夹。这意味着只有您的代码才能访问用户图像。
您可以使用 PHP 或任何语言查看会话信息并查看用户是否已通过身份验证。如果可以,我建议使用 Mycrypt 加密 cookie 数据。检查身份验证后,您可以使用脚本获取文件并发送回标头信息。这是一篇非常深入的文章,我认为如果你真的想要一个操作方法,它会对你有所帮助。使用 PHP 保护图像
如果你使用 PHP,Laravel 可以很好地处理会话和保护图像。