当前位置: 首页 > 编程日记 > 正文

HTTP referer

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

Referer其实应该是英文单词Referrer,不过拼错的人太多了,所以编写标准的人也就将错就错了。

我的问题
我刚刚把feed阅读器改变为Gregarius,但他不像我以前用的liferea,访问新浪博客的时候,无法显示其中的图片,提示“此图片仅限于新浪博客用户交流与沟通”,我知道,这就是HTTP Referer导致的。

From https to http
我还发现,从一个https页面上的链接访问到一个非加密的http页面的时候,在http页面上是检查不到HTTP Referer的,比如当我点击自己的https页面下面的w3c xhtml验证图标(网址为http://validator.w3.org/check?uri=referer),从来都无法完成校验,提示:

No Referer header found!

原来,在http协议的rfc文档中有定义:

因为源连接可能是私有信息,或者是可能泄露其它私有信息源,强烈建议用户能够选择是否发送referer域。例如,浏览器客户端可能有切换选项来公开、匿名浏览,讲相应的允许、发送refererfrom信息。

如果通过安全协议传输,客户端不应该在http请求中包括referer域。但是咱们的NTA是包括的。


Firefox中关于Referer的设置
都在里,有两个键值:

network.http.sendRefererHeader (default=2)
设置Referer的发送方式,0为完全不发送,1为只在点击链接时发送,在访问页面中的图像什么的时候不发送,2为始终发送。参见Privacy Tip #3: Block Referer Headers in Firefox

network.http.sendSecureXSiteReferrer (default=true)
设置从一个加密页访问到另外一个加密页的时候是否发送Referer,true为发送,false为不发送。

利用Referer防止图片盗链
虽然Referer并不可靠,但用来防止图片盗链还是足够的,毕竟不是每个人都会修改客户端的配置。实现一般都是通过apache的配置文件,首先设置允许访问的地址,标记下来:

# 只允许来自csdn.net的访问,图片可能就放置在csdn.net网站的页面上
SetEnvIfNoCase Referer "^http://www.csdn.net/" local_ref
# 直接通过地址访问
SetEnvIf Referer "^$" local_ref

然后再规定被标记了的访问才被允许:

<FilesMatch ".(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

或者

<Directory /web/images>
   Order Deny,Allow
   Deny from all
   Allow from env=local_ref
</Directory>

相关文章:

设置grep高亮显示匹配项

grep是个非常高频的命令&#xff0c;我们通过给它设置别名&#xff0c;来把匹配项区分出来&#xff0c;这样可以更直观。 设置前&#xff1a; 12[rootzabbix ~]# /sbin/ifconfig eth0 | grep inet addr inet addr:192.168.88.66 Bcast:192.168.88.255 Mask:255.255.255.0 设置…

PHP之源码目录结构

PHP之所以能在web开发语言中排名靠前&#xff0c;不仅仅是因为语法简单&#xff0c;上手容易。我个人认为更多是因为其语言本身的&#xff1a;模块的易扩展性&#xff0c;可维护性以及内存安全管理等特点。写过PHP的程序员不一定都知道&#xff1a;PHP是如何执行的&#xff1f;…

SSAS系列——【07】多维数据(查询Cube)

原文:SSAS系列——【07】多维数据&#xff08;查询Cube&#xff09;1、什么是MDX&#xff1f; MDX叫做“多维表达式”&#xff0c;是一种查询语言&#xff0c;是一种和SQL类似的查询语言&#xff0c;它基于 XML for Analysis (XMLA) 规范&#xff0c;并带有特定于 SQL Server A…

什么是图数据库?图数据库实践与创新浅析

近日&#xff0c;中国工程院院士&#xff0c;清华大学计算机科学与技术系教授郑纬民先生&#xff0c;在人民日报发表文章《把握图数据库自主创新机遇》&#xff0c;建议国内科研学者和工程人员&#xff0c;要在图数据库的理论研究与工程研发上坚持自主创新道路&#xff0c;确保…

C# 对应 Oracle 存储过程 的 SYS_REFCURSOR 应该 传入什么类型的参数?

Oracle中scott用户下创建存储过程&#xff1a;(注&#xff1a;从9i开始有了sys_refcursor这种类型&#xff0c;在以前的Oracle版本中需要使用REF CURSOR,并且还需放在一个程序包中)create or replace procedure sp_getdept(result out sys_refcursor)asbeginopen result for se…

Fedora 15 安装与配置一览

Fedora 15 将于2011.5.24日发布&#xff0c;今日离正式版发布还有4天。笨兔兔这里提前给大家支招用好Fedora 15。下面是笨兔兔在安装、配置Fedora 15 过程中的小结&#xff0c;希望给大家配置自己的Fedora 15 带来方便。仅供参考&#xff0c;如有错误&#xff0c;敬请指出。 『…

Win7封装无损廋身清单

整理了一下&#xff0c;大致如下。清理不会伤及系统功能。娱乐性的东西建议删除&#xff0c;因为这些不是功能性的&#xff0c;包括示例视频、示例音乐和一些主题图片以及一些系统自带的游戏。另外一些属于安装过程中产生的&#xff0c;重装封装不需要这些文件&#xff0c;对比…

苹果新算法已混进 iOS 14.3!CSAM 检测技术再遭网友争议

整理 | 禾木木、郑丽媛 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 苹果宣布即将推出 CSAM 检测系统时&#xff0c;遭到了 4000 多个组织及个人的公开反对&#xff0c;他们质疑苹果会破坏用户隐私和端到端加密机制。一位 Reddit 用户发现 CSAM 算法竟已被悄悄地…

2.最详细的WSDD配置文件注释

https://blog.csdn.net/u011063151/article/details/52590282转载于:https://www.cnblogs.com/sharpest/p/7851185.html

CloudStack部署篇二 高级网络设置

CloudStack 4.2.1版本基础安装&#xff1a; http://51log.blog.51cto.com/6076767/1598046测试默认UI访问 http:ip1:8080/client/选择【我以前使用过cloudstack,跳过配置指南】&#xff1b;开始应用网络配置&#xff1b;一、 高级网络部署管理服务器 &#xff08;mangermant m…

阿里安全新研究:给图片打“马赛克”就能骗过 AI 视觉系统

阿里安全人工智能 AAIG 实验室等机构的研究者提出了一个新的机制来生成对抗样本&#xff0c;即与增加对抗扰动相反&#xff0c;他们通过扔掉一些不可察觉的图像细节来生成对抗样本。这项研究成果已被 AI 顶会 ICCV 2021 收录。 不久前&#xff0c;某知名品牌汽车被曝其自动驾驶…

Ubuntu下安装Apache+PHP+Mysql

Ubuntu下安装 apachephpmysql文本服务器&#xff01; -------------------------------------------------------------------------------- 版本一 Install SSH Client and Server (for my remote access):sudo apt-get install ssh Install Database Server:sudo apt-…

2015香港书展

去年错过了书展&#xff0c;今年早早提醒自己不要错过。10点前我就到了会展中心&#xff0c;排队等待入场&#xff0c;依旧是那么多人&#xff0c;不过多数是年轻学生。在去的路上&#xff0c;没有看到13年那么多的反GCD或者反CY的宣传。 浦一进场&#xff0c;我便在门口张望了…

Firefox下http协议监测工具LiveHttpHeaders

当我们测试Web应用程序的安全性的时候&#xff0c;经常需要对HTTP流量进行分析和动态修改。此外&#xff0c;取得对Web 应用程序流出和流入的数据的控制权不仅对Web 应用程序安全缺陷的发现和漏洞的利用等安全测试任务具有很大的帮助&#xff0c;而且还有利于常规的Web 应用程序…

中国AI已进入迷茫阶段!从技术到科学,AI该何去何从?

作者&#xff1a;金榕&#xff0c;阿里巴巴达摩院副院长、原密歇根州立大学终身教授引言如果从达特茅斯会议起算&#xff0c;AI已经走过65年历程&#xff0c;尤其是近些年深度学习兴起后&#xff0c;AI迎来了空前未有的繁荣。不过&#xff0c;最近两年中国AI热潮似乎有所回落&a…

Libgdx学习笔记:Simple text input

2019独角兽企业重金招聘Python工程师标准>>> 官方Wiki&#xff1a;https://github.com/libgdx/libgdx/wiki/Simple-text-input 实现接口TextInputListener public class MyTextInputListener implements TextInputListener { Overridepublic void input (String …

CentOS7系统下修改网卡为eth0

一、编辑网卡信息 123456789101112131415[rootlinux-node2~]# cd /etc/sysconfig/network-scripts/ #进入网卡目录 [rootlinux-node2network-scripts]# mv ifcfg-eno16777728 ifcfg-eth0 #重命名网卡名称 [rootlinux-node2network-scripts]# cat ifcfg-eth0 #编辑网卡信息 T…

squid,nginx,lighttpd反向代理的区别

反向代理从传输上分可以分为2种&#xff1a; 1&#xff1a;同步模式(apache-mod_proxy和squid) 2&#xff1a;异步模式(lighttpd 和 nginx) 在nginx的文档说明中&#xff0c;提到了异步传输模式并提到它可以减少后端连接数和压力&#xff0c;这是为何&#xff1f; 下面就来讲…

Unix_Linux系统定时器的应用(案例)

2014-05-05 Created By BaoXinjian 一、摘要 关于任务定时的命令crontab&#xff0c;在Linux中应用还算常见&#xff0c;这次为了配合开发完成一些辅助功能&#xff0c;以及一些备份更新等脚本&#xff0c;就需要crontab来完成&#xff0c;在windows下也就是一个批处理&#xf…

SDN 网络技术创新探索 | 移动云 TeaTalk 线上直播 倒计时启动中

在企业数字化转型、云服务和国家政策等多种因素驱动下&#xff0c;越来越多的企业、行业和政府机关将业务迁移到云上&#xff0c;随着移动云的快速发展&#xff0c;在“多系统、多场景、多业务”需求下&#xff0c;对网络提供差异化的服务能力提出了更高的要求。大规模数据中心…

学习Spring中遇到关于BeanFactory及测试类的问题

最近在学习Spring&#xff0c;使用的是Spring 5.0.1 学习书本中使用的是4.0 学习书本中使用以下来加载配置文件及设置 Resource resource new ClassPathResource("applicationContext.xml"); //加载配置文件 BeanFactory factory new XmlBeanFactory(resource); St…

[Java基础] Java如何实现条件编译

条件编译绝对是一个好东西。如在C或CPP中&#xff0c;可以通过预处理语句来实现条件编译。但是在JAVA中却没有预处理&#xff0c;宏定义这些东西&#xff0c;而有时在一些项目中&#xff0c;我们又需要条件编译。那么&#xff0c;在JAVA中&#xff0c;该如何实现条件编译呢&…

深度学习上的又一重点发现——利用MSCNN实现人群密度监测

作者|李秋键 出品|AI科技大本营(ID:rgznai100) 人群密度计数是指估计图像或视频中人群的数量、密度或分布&#xff0c;它是智能视频监控分析领域的关键问题和研究热点&#xff0c;也是后续行为分析、拥塞分析、异常检测和事件检测等高级视频处理任务的基础。随着城市化进程的…

nginx和squid配合搭建的web服务器前端系统

两种前端架构&#xff1a; lvs -> nginx前端代理 -> squid缓存lvs -> squid前端缓存 -> nginx中层代理squid在前面的优点&#xff1a; Squid作纯代理比较稳当前端少一级代理&#xff0c;响应速度会快&#xff0c;出问题的可能性要小功能有限&#xff0c;不会常被调…

聊聊jesque的几个dao

为什么80%的码农都做不了架构师&#xff1f;>>> 序 本文主要聊一下jesque的几个dao dao列表 FailureDAOKeysDAOQueueInfoDAOWorkerInfoDAOFailureDAO jesque-2.1.0-sources.jar!/net/greghaines/jesque/meta/dao/FailureDAO.java /*** FailureDAO provides access …

Proxy与NAT有什么区别

在internet共享上网技术上,一般有两种方式,一种是proxy代理型,一种是NAT网关型,关于两者的区别与原理,身边很多人都不是很明白,下面我来讲讲我的理解,如有不对的,欢迎指正.1.先说应用例子:服务器端,用wingate就是Proxy,用sygate就是NAT客户端,需要在IE中设置代理服务器的就是用…

【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装

原文网址&#xff1a;http://www.cnblogs.com/jostree/p/4137402.html 作者&#xff1a;jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4137402.html 1.需要保证vim的版本大于7.3.584&#xff0c;否则的话需要更新vim 可以通过第三方源更新&#xff1a; 在终端输入…

「倒计时」2021年移动云 API 应用创新开发大赛,你居然还没报名?!

移动云API应用创新开发大赛自成立举办以来&#xff0c;因赛事覆盖广、规模大、奖励高等、吸引了移动、企业、高校各赛道选手踊跃报名。目前活动火爆呈现白热化状态&#xff0c;截至目前为止&#xff0c;累计报名600人。现距离大赛报名截止仅剩5天&#xff01;&#xff01;&…

snort源码的详细分析

前段时间由于工作关系&#xff0c;对snort入侵检测系统进行了仔细的研究&#xff0c;起初基本都是通过网上找的资料&#xff0c;对于snort系统的应用&#xff0c;原理&#xff0c;架构&#xff0c;配置&#xff0c;源码机构网上都可以找到比较详细的资料&#xff0c;我自己用vs…

TCP/IP四层模型和OSI七层模型

TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应&#xff0c;然后将各种网络协议归类。 表1-1 TCP/IP四层模型和OSI七层模型对应表 OSI七层网络模型 Linux TCP/IP四层概念模型 对应网络协议 应用层&#xff08;Application&am…