4

アプリ内のリソースへのホットリンクや不正アクセスを停止する方法を実装しようとしています。

私が追加しようとしている方法は、以前にPHPアプリで使用したものです。基本的に、セッションはページが最初に呼び出されたときに設定されます。画像は、パラメータとしてセッション値を使用してimageタグを介してページに追加されます。

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

画像が要求されると、スクリプトはセッションが設定され、提供された値と一致するかどうかを確認します。条件が満たされない場合、サービングページはnullを返します。コードの最後でセッションの設定を解除したので、ページの範囲外からのリクエストはnullを返します。

リフトフレームワーク内でのこのメソッドの最良の実装は何でしょうか?

助けてくれてありがとう、大いに感謝します:)

4

1 に答える 1

0

SessionVarこの目的でa を使用できます。にSessionVarを保存しMap[SessionImageId, RealImageId]、セッションを初期化するとき (つまり、ページが最初に読み込まれるとき)SessionImageIdに、実際の画像 ID にマップするいくつかのランダムな を生成します。あなたのHTMLでは、シャドウされたものだけを公開するSessionImageIdので、誰もIDから画像を追跡することはできません. 画像がリクエストされたら、 で実際の ID を検索するだけですMap

情報: Lift の探索Lift wiki

もちろん、ID のシャドウイングが重要でない場合は、単純にSessionVar[Boolean].

于 2012-09-24T08:52:34.027 に答える