一个随机网站决定通过以下代码加载我的一个网址...
<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>';
}
答案 0 :(得分:2)
你不能。
HTML正在被解析为图像。这会引发错误,并且不会执行您可能提供给它的任何客户端代码。
答案 1 :(得分:0)
正如其他人所说,这不是一个帧中断,并且不涉及PHP代码。
您唯一能做的就是在服务器的配置中,例如添加规则以强制请求拥有正确的HTTP Referer。
如果您使用Apache,you can upload a .htaccess
on 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