网站首页 > 教程分享 正文
反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
这是百度百科给出的解释,那么它的效果是什么呢? 就是我们所说的镜像站。
比如用户访问 http://xxxx.com/archives 这个页面,但xxxx.com实际上并不存在这个页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容返回用户。实际上表达出来的效果就是相当于他搭建了个和目标站一模一样的镜像站。
向代理的危害
他如果没有危害我们也不用去管它对吧,实际上是肯定有危害的。
- 占用服务器资源,网站打开速度受影响。
- 别人通过代理盗用你的网站数据,对用户与搜索引擎而言,相当于建了一个与你一模一样的站点,那么很有可能你的网站会被搜索引擎降权。
- 其他诸如被友链或者联盟广告拉黑等危害。
防止反向代理方案:
3.1 JS方法
<script type="text/javascript">
if (document.domain != 'upx8.com' && document.domain != 'blog.upx8.com'){
window.location.href='http://blog.upx8.com/';
}
</script>
这段JS脚本的作用就是,如果地址栏中的网址不是 upx8.com 和 blog.upx8.com 中的任何一个,那么就把地址栏转向 http://xxxx.com
3.2 PHP方法
上面所说的JS方法虽然简单好用,但是对搜索引擎不怎么友好。下面是通过PHP的解决方法:
$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'nowamagic.net' || $proxy_rs != 'blog.upx8.com' )
{
echo '非法反向代理访问';
//header('Location: http://blog.upx8.com/');
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'];
}
3.3 htaccess方法
.htaccess
RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php
proxy.php
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="upx8.com")&&($server!="blog.upx8.com")){
echo '本服务器禁止恶意反向代理!';
}
?>
因为我的站对收录需求不是特别高,所以就采用的JS方法,具体使用哪一种看自己的选择。
相关文献:
https://blog.csdn.net/qq_43523315/article/details/109448763
相关文献:https://www.docsget.com/#/Prevent_proxy/
猜你喜欢
- 2025-05-10 微信外H5跳转小程序——组件(vue项目)
- 2025-05-10 5种JavaScript实现页面跳转的方法,赶紧收藏
- 2025-05-10 DeepSeek代码之旅2:卫星地图标记方法之——Pyside6实现
- 2025-05-10 如何免费申请ssl,并且安装!(ssl 免费)
- 2025-05-10 海报丨英勇精神 世代闪光(英雄精神代代传绘画)
- 2025-05-10 使用浏览器访问PLC的自定义网页(使用浏览器访问plc的自定义网页是什么)
- 2025-05-10 详解三类的友情链接不能交换(友情链接可以随便找链接加吗)
- 2025-05-10 使用JavaScript如何获取网站网址(js语句如何获取网页元素)
- 2025-05-10 web开发-从facebook内置浏览器中网页,唤起Safari或chrome浏览器
- 2025-05-10 「前端开发」eval() 函数认知和学习以及注意事项
你 发表评论:
欢迎- 最近发表
-
- 微信外H5跳转小程序——组件(vue项目)
- 5种JavaScript实现页面跳转的方法,赶紧收藏
- 防止网站被恶意反向代理(如何防止恶意网站跳转)
- DeepSeek代码之旅2:卫星地图标记方法之——Pyside6实现
- 如何免费申请ssl,并且安装!(ssl 免费)
- 海报丨英勇精神 世代闪光(英雄精神代代传绘画)
- 使用浏览器访问PLC的自定义网页(使用浏览器访问plc的自定义网页是什么)
- 详解三类的友情链接不能交换(友情链接可以随便找链接加吗)
- 使用JavaScript如何获取网站网址(js语句如何获取网页元素)
- web开发-从facebook内置浏览器中网页,唤起Safari或chrome浏览器
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)