我正在尝试实施一种方法来停止对我的应用中的资源进行热链接和/或未经授权的访问。
我试图添加的方法是我以前在PHP应用程序中使用的方法。基本上,首次调用页面时会设置会话。图像将通过图像标记添加到页面中,并将会话值作为参数:
<img src="/files/image/image1.jpg?session=12345" />
请求图像时,脚本会检查会话是否已设置并与提供的值匹配。如果不满足条件,则服务页面返回null。在代码的最后,我取消了会话,因此来自页面范围之外的进一步请求将返回null。
在lift框架中,这种方法的最佳实现是什么?
提前感谢您的帮助,非常感谢:)
答案 0 :(得分:0)
您可以使用SessionVar
来实现此目的。在SessionVar
中,您存储Map[SessionImageId, RealImageId]
并在初始化会话时(即首次加载页面时),您将生成一些随机SessionImageId
s,您将映射到真实图片ID。在你的html中,你只暴露了阴影SessionImageId
,所以没有人可以从id追溯图像。请求图片时,您只需在Map
中查找真实内容。
当然,如果遮蔽ID并不重要,您只需使用SessionVar[Boolean]
。