0

ランダムな Web サイトが、次のコードを介して私の URL の 1 つをロードすることにしました...

<img src="http://mysite.com/" width="1" height="1" />

チェックして抜け出すためにjavascriptフレームブレーカーを追加しようとしましたが、これでは機能しません。自分のサイトがこれを回避し、非表示ではなくフル ブラウザーで表示されるようにするにはどうすればよいですか? 彼らは貴重な帯域幅を食い尽くしています。ありがとう

これは、いつものように頭の中ですでに試したフレームブレーカーのコードです...

if(stristr($_SERVER['HTTP_REFERER'],"badsite.com") == true){
echo '<script language="Javascript">
<!-- 
if (top.location != self.location) 
top.location.replace(self.location);
}
//--> 
</script>';
}
4

3 に答える 3

2

できません。

HTML は画像として解析されています。これによりエラーがスローされ、フィードする可能性のあるクライアント側のコードは実行されません。

于 2013-01-07T11:17:37.113 に答える
0

他の人が言ったように、これはフレーム ブレークではなく、PHP コードは関係ありません。

あなたができる唯一のことは、要求が適切な HTTP リファラーを持つように強制するルールを追加するなど、サーバーの構成です。

Apache を使用している場合は、このためにサーバーに をアップロードでき.htaccessます(私がずっと前に書いたブログ投稿のリンク)。

# Prevent Files image hotlinking and bandwidth stealing
RewriteEngine On
RewriteBase /blog/wp-content/uploads/
RewriteCond %{HTTP_REFERER} !^http://www.exemple.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|swf|flv|png)$ / [F,L]

編集:あなたの場合、あなたはすることができます

RewriteCond %{HTTP_REFERER} ^http://nasty-site.exemple.com/.*$ [NC]
RewriteRule .* http://localhost/

そうすれば、 http://nasty-site.exemple.com/からのトラフィックはすべてlocalhost にリダイレクトされ、誰も気にする必要はありません。

于 2013-01-09T14:15:42.413 に答える
0

はい、できます

簡単なステップバイステップ:

1-次と同じフォルダーを作成します:images

2-画像フォルダーに、次の名前のフォルダーを作成します:image_folder、画像ファイルを「image_folder」に入れます

3-この内容で.htaccessファイルを作成

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php 
</IfModule>

4- 次の内容で images フォルダーに index.php を作成します。

    <?
$filename  = urldecode(end(explode('/',$_SERVER['REQUEST_URI'])));
$subname = current(explode('.',$filename));

$extention = end(explode('.',$filename));
switch ($extention) {
    case 'gif':
        $mime = 'image/gif';
        break;
    case 'jpg':
    case 'jpeg':
    case 'jpe':
        $mime = 'image/jpeg';
        break;
    case 'png':
        $mime = 'image/png';
        break;
    case 'ico':
        $mime = 'image/x-icon';
        break;
    default:
        header("HTTP/1.0 404 Not Found");
        echo('image not finded');
        exit;
        break;
}
if(is_file("image_folder/".$filename)){
    header("Content-type: ".$mime);
    readfile("image_folder/".$filename);
}else{
    header("HTTP/1.0 404 Not Found");
    echo('image not finded');
}

説明: index.php でリファラーを簡単に確認できるようになりました

于 2013-01-09T14:28:04.737 に答える