我怎样才能从这个例子开始?

时间:2013-01-07 01:34:12

标签: php javascript hidden frames clickjacking

一个随机网站决定通过以下代码加载我的一个网址...

<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>';
}

3 个答案:

答案 0 :(得分:2)

你不能。

HTML正在被解析为图像。这会引发错误,并且不会执行您可能提供给它的任何客户端代码。

答案 1 :(得分:0)

正如其他人所说,这不是一个帧中断,并且不涉及PHP代码。

您唯一能做的就是在服务器的配置中,例如添加规则以强制请求拥有正确的HTTP Referer。

如果您使用Apache,you can upload a .htaccesson the server for this(我很久以前写过的博文上的链接)

# 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而没有人受到打扰

答案 2 :(得分:0)

是的,你可以

轻松一步一步:

1- crate与文件夹相同的文件夹:images

2- in images文件夹创建一个名称为:image_folder的文件夹,并将您的图像文件放入“image_folder”

按此内容创建.htaccess文件

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

通过此内容在图像文件夹中创建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中的referer