HTTP Referer 防外链
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。
if (Request.ServerVariables["HTTP_REFERER"] == null || !Request.ServerVariables["HTTP_REFERER"].ToString().Contains(Request.ServerVariables["HTTP_HOST"].ToString())) { Server.Transfer("Error.aspx"); }
下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER"):
1) 直接用<a href="">
2) 用Submit或<input type="image">提交的表单(POST或GET)
3) 使用JAvaScript提交的表单(POST或GET)
下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1) 从收藏夹链接
2) 单击主页或自定义的地址
3) 在浏览器中直接输地址
4) 使用JavaScript的Location.href或者是Location.replace()
5) <%Response.Redirect%>
6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">转向
7) 用XML加载地址
显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的,下面我们看一个例子:
ref.asp
<%
response.write "You came from: " & request.servervariables("http_referer")
%>
ref.htm
<%
Response.AddHeader "Refresh", "10;URL=ref.asp"
%>
<meta http-equiv='refresh' content='10;URL=ref.asp'>
<form method=GET action=ref.asp name=getform>
<input type=submit value=' Go there (GET) >> '>
<input type=image style='cursor:hand'>
</form><p>
看看上面的代码会得到什么的结果.
<form method=POST action=ref.asp name=postform>
<input type=submit value=' Go there (POST) >> '>
<input type=image style='cursor:hand'>
</form><p>
<a href='ref.asp'>直接链接</a><p>
<a href='#' οnclick='window.location.href="ref.asp";return false;'>Javascript location</a><p>
<a href='#'οnclick='window.location.replace("ref.asp");return false;'>Javascript replace</a><p>
<a href='#' οnclick='document.getform.submit();return false;'>javascript GET</a><p>
<a href='#' οnclick='document.postform.submit();return false;'>javascript POST</a>
Request.ServerVariables(HTTP_REFERER)的工作方式
转载于:https://www.cnblogs.com/B-bowen/p/4275121.html
HTTP Referer 防外链相关推荐
- 《markdown》语雀导出markdown的图片外链问题
本文节选自本人博客:https://www.blog.zeeland.cn/archives/rgoioiabeoi32 Introduction 本人因为经常使用语雀写博客,但是因为语雀转markd ...
- 破解百度、网易相册外链的代码
很显然写博客时将图片放到一个专门的图床上是一个好习惯,虽然一蓑烟云还没有养成这个习惯,因为图片直接放到网站空间上每次搬家都是个麻烦事一方面,而且图片过大过多会影响页面加载的速度.当然手头宽裕的童鞋可以 ...
- Linux之提高Nginx的安全性:受限server_tokens /user_agents/buffer_size/连接数/请求方法/外链/不用模块 使用日志/TLS/HTTPS/升级
1.保持Nginx的及时升级 目前Nginx的稳定版本为1.14.0,最好升级到最新版本,看官方的release note你会发现他们修复了很多bug,任何一款产品的生产环境都不想在这样的bug风险下 ...
- 外链图片也有风险吗?
一直以来,各大论坛和邮箱都允许使用外链图片.一方面解决了上传和保存带来的资源消耗,更重要的是方便用户转载图片. 然而,简单的背后是否暗藏着什么风险呢?大多或许认为,不就是插入了一张外部图片而已,又不是 ...
- html添加外链图片代码,web 外链图片 403 解决方案(http referrer)
场景说明 以前一直使用 github 做自己的图床,不过国外的网站比较卡. 近期换了一下国内的 gitee 使用,不过发现图片都是 403,但是如果打开图片地址,图片是存在的. 其实原理也比较好理解, ...
- 中文网页的外链对Google谷歌SEO有用吗
中文网页的外链对Google谷歌SEO有用吗 首先答案是YES,一定有用. 要看一个外链是否有用,要看以下3点: 要看这个链接是否是dofollow (而不是nofollow); 要看该中文网页的DA ...
- 互联网晚报 | 1/12 星期四 | 微信回应切断抖音外链;爱奇艺App限制投屏;iPhone 16 Pro或取消灵动岛摄像头...
微信回应切断抖音外链:坚决打击给用户造成诱导.骚扰的外链 1月10日晚间,第一财经独家报道抖音链接目前在微信内既无法直接打开.也无法复制完成跳转,甚至要通过图片OCR识别进行文字提取的情况.但微信内 ...
- 外链自动转内链html,typecho网站外链自动转换内链插件ShortLinks
ShortLinks插件是一款可以把网站中的外链自动转换为内链的typecho插件,同时支持自定义短链接功能,且可以统计链接的点击数量.一般做SEO优化的人认为网站存在过多的外链会导致页面权重流失,从 ...
- 外链转内链php,Typecho:网站外链自动转换内链插件ShortLinks
ShortLinks插件是一款可以把网站中的外链自动转换为内链的typecho插件,同时支持自定义短链接功能,且可以统计链接的点击数量.一般做SEO优化的人认为网站存在过多的外链会导致页面权重流失,从 ...
最新文章
- 开源依旧:再次分享一个进销存系统
- 使用ADO.NET 的最佳实践(zz)
- 经典教材《统计学习导论》现在有了Python版
- linux 第十五章 shell 脚本习题
- C++基类和派生类的析构函数
- 面向侧面的程序设计AOP-------《二》本质
- mac 设计表结构_模具设计丨问题点检表、全套标准件结构分布,值得转发
- 《算法导论》读书笔记--第1、2章课后题 (转)
- win java_Win搭建JAVA环境
- 数据结构与算法python—12.二叉搜索树及python实现与leetcode总结
- 按GB 11643标准对大陆身份证号码分析验证
- Maxwell参数化建模和优化设计
- 13.2 RS编码和纠错算法
- MapReduce之幺半群
- strut2 上传文件
- HTML5在线摄像头应用
- 腾讯首次攻破屏下指纹识别技术;苹果新Mac Pro最贵将卖到4.2万;Haxe 4.0发布 | 极客头条...
- 解决MySQL Connector NET xxxx无法卸载的问题
- matlab海龟交易策略,【策略篇】海龟交易系统使用方法和源码
- 声音传感器模块的改进
热门文章
- 增加自增列 耗时长_又一批长事务,P0故障谁来背锅?
- javax消息队列_Java面试—消息队列
- android系统的测试方法,运行测试 | Android 开源项目 | Android Open Source Project...
- python装饰器改变命运
- Oracle XTTS跨平台数据库迁移(从Unix迁移数据库到Linux)_Oracle数据库迁移项
- 三层交换机工作原理(转载)
- 6.Java集成开发环境
- Hive远程模式安装(1.00)
- 第十三周学习进度情况
- Maven project deploy to Nexus