我正在使用Omnifaces的FileServlet: http://showcase.omnifaces.org/servlets/FileServlet
它工作正常,我的所有图像都出现在我的webapp中。 但是现在我想从图像中更改链接,因为我想避免有人从另一个图像进入路径:
例如: 一张图片的路径是: 的myapp / imagesservlet / mypic1.jpg
- >有人可以进入 myapp / imagesservlet / mypic2.jpg - >并获得了另一张图片。
我的文件存储为: mypic喜欢mypic1.jpg,mypic2.jpg .....
有没有机会改变路径并获得正确的图像?
答案 0 :(得分:0)
使用不可预测的自动生成的文件名。例如。 imgur也是这样做的。这个责任实际上超出了OmniFaces FileServlet,因为它所做的只是检查传入的文件名并提供它。您应该将传入的文件名更改为自动生成的文件名。如有必要,可以在其他地方保存原始文件名,例如在SQL数据库中,如果需要,可以与其他元数据(内容类型,大小等)一起使用,以便更有效地索引和搜索。
本Q& A中已经介绍了如何在Java中自动生成随机字符串:How to generate a random alpha-numeric string?