2012-09-23 41 views
4

我試圖實現一種方法來阻止盜鏈和/或未經授權訪問我的應用程序中的資源。斯卡拉電梯 - 強大的方法來保護文件免受盜鏈

我試圖添加的方法是我之前在PHP應用程序中使用的方法。基本上,會話是在首次調用頁面時設置的。這些圖像通過與會話值作爲參數圖片標記添加到頁面:

<img src="/files/image/image1.jpg?session=12345" /> 

當圖像被要求腳本檢查是否會話設置和所提供的價值相匹配。如果條件不符合,服務頁面返回null。在代碼結束時,我將該會話取消設置,以便來自頁面範圍之外的進一步請求將返回null。

這個方法在升降框架中的最佳實現是什麼?提前任何幫助

謝謝,非常感謝:)

回答

0

你可以使用一個SessionVar用於此目的。在SessionVar中,您將存儲Map[SessionImageId, RealImageId],並在初始化會話時(即首次加載頁面時),您會生成一些隨機映射到實際圖像ID的隨機SessionImageId。在你的html中,你只能公開被遮蔽的SessionImageId,所以沒有人可以從id中追溯圖像。當請求圖片時,您只需在Map中查找真實ID即可。

信息:Exploring LiftLift wiki

當然,如果遮蔽的ID並不重要,你可以簡單地使用SessionVar[Boolean]