当前位置: 首页 > news >正文

网站平台优化百度人工服务24小时热线电话

网站平台优化,百度人工服务24小时热线电话,服装网站开发的意义,房产网站怎么做nginx防盗链问题 盗链: 就是a网站有一张照片,b网站引用了a网站的照片 。 防盗链: a网站通过设置禁止b网站引用a网站的照片。 nginx防止网站资源被盗用模块 ngx_http_referer_module 如何区分哪些是不正常的用户? HTTP Referer…

nginx防盗链问题

盗链:

就是a网站有一张照片,b网站引用了a网站的照片 。

防盗链:

a网站通过设置禁止b网站引用a网站的照片。

nginx防止网站资源被盗用模块

ngx_http_referer_module

如何区分哪些是不正常的用户?

HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,例如防止未经允许的网站盗链图片、文件等。因此HTTP Referer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链情况.

比如在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=http://www.google.com

防盗链配置要点

[root@nginx-server ~]# vim /etc/nginx/nginx.conf
# 日志格式添加"$http_referer"
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
# valid_referers 使用方式                         
Syntax: 	valid_referers none | blocked | server_names | string ...;
Default: 	—
Context: server, location

盗链实验:

准备俩台服务器,a服务器用做网站正版发布照片,b服务器用作引用a服务器的图片信息的服务器。

a服务器IP:192.168.231.171

b服务器IP:192.168.231.173

在a服务器的配置文件内

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;index  1.jpg;
}
}更改完配置文件 记得重启
[root@localhost ~]# nginx -s reload#网站默认发布页面的路径
[root@localhost ~]# cd /usr/share/nginx/html/ 
[root@localhost html]# ls
1.jpg  50x.html  index.html

正常访问a网站

b服务器,配置nginx访问页面

由于b服务器也是yum安装的nginx
因此b服务器的nginx默认发布页面路径在 /usr/local/nginx/html/下
[root@daili ~]# cd /usr/share/nginx/html/
[root@daili html]# ls
50x.html  index.htmlvim index.html<html>
<head><meta charset="utf-8">     #用老做实验  红色的底<title>qf.com</title>
</head>
<body style="background-color:red;"><img src="http://192.168.231.171/1.jpg"/>    #盗用171IP的1.jpg这个图片
</body>
</html>

此时访问b网站,由于它盗用了a网站的图片,因此

观察a服务器的日志

这就做成了盗链实验

防盗链实验

实验机器

a服务器IP:192.168.231.174  真正提供照片的服务器

b服务器IP:192.168.231.173

1.防盗链的操作得在真正发布这张图片的服务器修改配置文件

a服务器#vim /etc/nginx/conf.d/default.conf server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;index  1.jpg;
valid_referers server_names  192.168.231.173;   
#server_names 只允许指定ip域名来访问资源if ($invalid_referer) {return 502;     #其他ip或者域名来访问a服务器,返回502
}}
}重启服务
nginx -s reload

这样就相当于将173这个ip添加到白名单中,只有192.168.231.173可以访问a服务器的资源。

通过百度来访问a服务器
[root@daili ~]# curl -e "www.baidu.com" -Ik 192.168.231.173
HTTP/1.1 502 Bad Gateway
Server: nginx/1.24.0
Date: Mon, 23 Oct 2023 11:29:07 GMT
Content-Type: text/html
Content-Length: 157
Connection: keep-alive#由于在a服务器的配置文件设置只能IP为192.168.231.173的来访问,因此其他ip来访问返回502

平时我们都是通过本机电脑的ip来访问b服务器,而curl -e "ip/域名" -Ik  要访问的ip

这条命令是我们通过此ip来访问另一个ip。

curl -e  "www.baidu.com" -Ik  192.168.231.173

我们通过百度来访问173IP,相当于我们此时的电脑本机变成了百度。

相同的是,我们设置为只有百度可以访问a服务器,那么b服务器上的图片就会失真打不开

a服务器
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;index  1.jpg;
valid_referers server_names  www.baidu.com;
if ($invalid_referer) {return 502;
}
}
}重启服务
nginx -s reload

访问b服务器的网站

三个要素:

  • none : 允许没有http_refer的请求访问资源;

  • blocked : 允许不是http://开头的,不带协议的请求访问资源;

  • server_names : 只允许指定ip/域名来的请求访问资源(白名单);

加none

真正有图片的a服务器
server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;valid_referers none  192.168.231.173;index  1.jpg;
}
}

浏览查看a服务器的发布页面

查看日志

tailf /var/log/nginx/access.log

通过百度来访问a服务器

[root@localhost ~]# curl -e "www.baidu,com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:07:27 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes

不加none

a服务器的配置文件
/etc/nginx/conf.d/default.confserver {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;
index  1.jpg;valid_referers blocked   www.jd.com;
if ($invalid_referer) {return 502;}
}
}

访问a服务器的网站

因此

none只是决定能不能访问a服务器本身,加none可以访问a服务器本身,不加none不可以访问a服务器本身。

blocked

本身含义是允许开头不带http的访问成功,那就意味着 带http的访问不成功

配置a服务器的配置文件
server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;
index  1.jpg;valid_referers blocked   192.168.231.174;
if ($invalid_referer) {return 502;}
}
}

访问www与http://www   后者就不可以访问

[root@daili ~]# curl -e "http://www.jd.com"  -Ik 192.168.231.171
HTTP/1.1 502 Bad Gateway
Server: nginx/1.24.0
Date: Mon, 23 Oct 2023 13:02:34 GMT
Content-Type: text/html
Content-Length: 157
Connection: keep-alive[root@daili ~]# curl -e "www.jd.com"  -Ik 192.168.231.171
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Mon, 23 Oct 2023 13:02:37 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes

情况2 加*.jd.com

server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;valid_referers none blocked *.jd.com    ;index  1.jpg;
}
}
[root@daili ~]# curl -e "http://www.jd.com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:31:52 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes[root@daili ~]# curl -e "www.jd.com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:32:00 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes

这里虽然配置文件里面写了blocked,但是白名单里面定义的是*.jd.com,因此他有俩个 一个是www开头,一个是http://  因此访问http://jd.com 可以访问

server {listen  80;server_name  localhost;location /{root  /usr/share/nginx/html;valid_referers none blocked www.jd.com    ;index  1.jpg;
}
}
[root@daili ~]# curl -e "www.jd.com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:35:17 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes[root@daili ~]# curl -e "http://www.jd.com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:35:19 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes

这里尽管定义配置的是www.jd.com 按道理输入http://jd.com 是访问不了的,但是在配置文件里面location是在server下的,而server是在http下面的,因此输入http://jd.com 也是可以访问的。

相同那么加了blocked 由于 白名单里面没有baidu.com 因此 访问www.baidu.com可以访问,访问http://www.baidu.com 就不可以访问。

[root@localhost conf.d]# curl -e "www.baidu.com" -Ik 192.168.231.174
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:57:27 GMT
Content-Type: image/jpeg
Content-Length: 647023
Last-Modified: Fri, 15 Sep 2023 06:06:10 GMT
Connection: keep-alive
ETag: "6503f452-9df6f"
Accept-Ranges: bytes[root@localhost conf.d]# curl -e "http://www.baidu.com" -Ik 192.168.231.174
HTTP/1.1 502 Bad Gateway
Server: nginx/1.24.0
Date: Tue, 24 Oct 2023 13:57:32 GMT
Content-Type: text/html
Content-Length: 157
Connection: keep-alive

http://www.15wanjia.com/news/10561.html

相关文章:

  • 纯html css做的网站网站排名查询工具
  • 莆田网站建设方案优化吸引人的营销标题
  • 企业网站建设的现状百度经验官网入口
  • 做家教在哪个网站找在线网站建设平台
  • 政府类网站的设计特点百度提交网站收录查询
  • 网站制作过程教程武汉seo诊断
  • wordpress.org建站西安专业网络推广公司
  • 响应式网站是怎么做的网络营销五个主要手段
  • 建设企业网站的申请百度seo是啥意思
  • 教学网站开发背景搜索大全引擎入口
  • 交友网站免费建设友缘在线官网
  • vue快速搭建网站网站快速收录技术
  • 如何注册自己的wordpress兰州搜索引擎优化
  • 网站正在建设中色线上推广方案
  • 交互式网站和非交互式网站网上商城网站开发
  • 江苏建设网站首页我要看今日头条
  • 做互联网公司网站谈单模拟视频教学网络推广seo是什么
  • 东莞网站优化制作千峰培训可靠吗?
  • 高清精品无人区自建站seo如何做
  • 江苏网站建设渠道最新提升关键词排名软件
  • 销售型网站模板全网优化推广
  • 搭建本地网站做色流中国国家培训网靠谱吗
  • 数字营销传播太原seo招聘
  • 用flash做的经典网站seo排名方案
  • 建筑网站首页足球世界排名国家
  • 广州专业网站设计企业友情链接推广
  • 企业管理系统er图seo技术培训沈阳
  • 长春哪家做网站便宜谷歌排名网站优化
  • 网站点击推广天津百度爱采购
  • wordpress 浮动播放器百度seo怎么提高排名