他のサイトに画像を使われることを防ぐ


自分のサイトの画像が他のサイトのページで勝手に使われることのないように、自分のサイトから参照されたときにだけ表示するには、URL Rewrite Moduleを利用して以下のように設定します。

  1. URL Rewrite Module 2.0がインストールされていない場合はインストールします。
    >>> URL Rewrite Module (IIS.net)
    2009/12/12現在、v1.1とv2.0 RC2がダウンロードできますが、v2.0 RC2をインストールしてください。
    (v1.1では不具合があるようで、設定できません。)
  2. IISマネージャを起動します。
  3. [接続]ウィンドウで、設定の対象となるサイトやディレクトリを選択します。
  4. [URL Rewrite]をダブルクリックします。
  5. [操作]ウィンドウで[Add Rules]をクリックします。
  6. [Add rule(s)]ダイアログで[Blank rule]を選択します。
  7. [Conditions]エリアの[Add Conditions]をクリックします。
  8. 各項目に以下のように入力します。
    Name ルールを識別する任意の名前
    ex.) rule1
    Match URL
    Requested URL Matches the pattern
    Using Regular Expressions
    Pattern \.(gif|jpg|png)$
    画像に限らず他の拡張子を追加することもできます。
    Ignore Case チェックします。
    Conditions
    Logical Grouping Match All
    Track capture ~ チェックしません。
    Action
    Action Type Custom Response
    Action properties
    Status code 403
    Sub status code 0
    Reason Forbidden
    Error description Forbidden
  9. [Conditions]エリアの[Add]をクリックし[Add Condition]ダイアログで以下のように入力します。
    Condition input {HTTP_REFERER}
    Check if input string Does not matches the pattern
    Pattern ^http://www.yourdomain.com/.*$
    ※”www.yourdomain.com”は、あなたのサイトに変更してください。
    Ignore Case チェックします。
  10. 再び[Conditions]エリアの[Add]をクリックし[Add Condition]ダイアログで以下のように入力します。
    Condition input {HTTP_REFERER}
    Check if input string Does not matches the pattern
    Pattern ^$
    Ignore Case チェックします。
  11. [操作]ウィンドウで[適用]をクリックしてください。

以上

[このドキュメントに対応する環境]

  • OS
    • Windows Server 2008
    • Windows Vista
    • Windows 7
  • IIS
    • 7.0
    • 7.5


タグ:


コメント / トラックバック2件

  1. 奮闘中 より:

    記事を拝見させて頂いて、この記事のことを実現したいと奮闘中なのですが、ひょっとして10番の
    Check if input stringはDoes not matches the patternではなくMatches the patternではないでしょうか。
    ちゃんと設定の意味はわかっていないのですが、そうしたら思った通り動いたので…。

  2. 浅見 城輝 より:

    10をMatches the patternにすると、他のサイトに画像を組み込むと、その画像が表示されてしまいませんか?

    ここでConditions(条件)に^$とのDoes not mathes the pattern(パターンに一致しない)を設定している理由は2つあります。
    (1)ブラウザで画像のurlを直接指定した場合はREFERERが入らないために9で指定した条件は無視して表示させたい
    (2)Symantec Internet Securityのような、REFERERを送信させない機能を持っているセキュリティ対策ツールなどを利用していても、画像を表示させたい(この場合、他のサイトでも画像は表示されてしまいます)

コメントをどうぞ