盗链
通过在自己网站里面'引用别人的资源链接','盗用'人家的劳动和资源
referer
referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息
正常的referer信息
none:请求报文首部没有referer首部,比如用户直接在浏览器输入域名访问web网站,就没有referer信息。
blocked:请求报文有referer⾸首部,但无有效值,比如为空。
server_names:referer首部中包含本主机名及即nginx 监听的server_name。
arbitrary_string:自定义指定字符串,但可使用*作通配符。
regular expression:被指定的正则表达式模式匹配到的字符串,要使用~开头,例如:
~.*\.magedu\.com。
实现web盗链
配置nginx.conf文件
log_format access_json '{"@timestamp":"$time_iso8601",''"host":"$server_addr",''"clientip":"$remote_addr",''"size":$body_bytes_sent,''"responsetime":$request_time,''"upstreamtime":"$upstream_response_time",''"upstreamhost":"$upstream_addr",''"http_host":"$host",''"uri":"$uri",''"domain":"$host",''"xff":"$http_x_forwarded_for",''"referer":"$http_referer",''"tcp_xff":"$proxy_protocol_addr",''"http_user_agent":"$http_user_agent",''"status":"$status"}';access_log logs/access.log access_json;
server {listen 80;server_name www.xfxq.com;#charset koi8-r;#access_log logs/host.access.log main;location / {root /data/nginx/html;index index.html index.htm;}
配置index.html文件
<html>
<body>
<meta charset="utf-8">
<a href="http://www.fxq.com">盗链</a>
<img src="http://www.fxq.com/1.jpg">
</body>
</html>
</html>
查看图片
查看日志
实现防盗链
http:// https://nginx.org/en/docs/http/ngx_http_referer_module.html#valid_referers
格式
valid_referers none blocked server_names*.example.com example.* www.example.org/galleries/ ~\.google\.; 定义有效的refererif ($invalid_referer) { 如是使用其他的无效的referer访问:return 403; 返回状态码403
}
定义防盗链
server {listen 80;listen 443 ssl;ssl_certificate /apps/nginx/certs/www.fxq.com.crt;ssl_certificate_key /apps/nginx/certs/www.fxq.com.key;ssl_session_cache shared:sslcache:20m;ssl_session_timeout 10m;server_name www.fxq.com;location / {root /data/nginx/html/pc;index index.html;}location = /favicon.ico {root /data/nginx/html/pc;}location = /1.jpg{root /data/nginx/static; valid_referers none blocked server_names~\.google\.; if ($invalid_referer) { return 403;} }}
[ro