转自:https://dlj.li/bn4rhs
一、使用.htaccess禁止反向代理
在站点根目录下新建 .htaccess 文件,然后添加如下的内容:
RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php
再新建proxy.php文件,添加如下代码,这里提供了两个方案。
方案 a:
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$url = "https://www.qian.blue";
if ($f!=""){
print "";
print "";
}
?>
方案 b:
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="qian.blue")&&($server!="www.qian,blue")){
echo '本服务器禁止恶意反向代理!';
}
?>二、使用js代码判断域名
js级别的解决方案虽然能够让恶意代理页面跳回来,但是对搜索引擎不怎么友好。
<script type="text/javascript">
if (document.domain != 'qian.blue' && document.domain != 'www.qian.blue'){
window.location.href='https://www.qian.blue/';
}
</script>
三、使用php判断域名
这种方法跟使用js代码来跳转域名是一个道理,都是先判断域名,如果是代理的域名则进行跳转,这里提供了两个方案,代码如下:
方案 a:
<?php
if($_SERVER['SERVER_NAME'] != 'qian.blue' ||$_SERVER['SERVER_NAME'] != 'www.qian.blue' )
{
exit('非法反向代理访问勿埋我心');
}
?>
方案 b:
<?php
$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'qian.blue' || $proxy_rs != 'www.qian.blue' )
{
echo '非法反向代理访问';
//header('Location: http://www.qian.blue/');
exit;
}
public function proxy_filter()
{
/*
$svrUrl = 'http://' . $_SERVER['SERVER_NAME'].$_SERVER["PHP_SELF"];
if (!empty($_SERVER["QUERY_STRING"]))
{
$svrUrl .= "?".$_SERVER["QUERY_STRING"];
}
return $svrUrl;
*/
return $_SERVER['SERVER_NAME'];
}
?>
如何防止网站被iframe嵌入
这是什么意思?
意思就是有些人用iframe做了个框架,把我们网站嵌入其中,访客来浏览的时候,好像是在浏览他自己的网站一样,这种行为也属实“优秀”。
解决办法
<script type="text/javascript">
if (top.location != self.location)top.location=self.location;
</script>
上一篇:
Termux + Qemu + Alpine + Docker + VNC下一篇:
50个可以帮你节约时间的网页开发工具网站