DELISTUDIO - 2024年7月
type: channel
link: https://delistudio.top/2024/07/
description: Welcome
items: 什么是盗链?
items: 什么是SNI?
items: GA4,UTM参数的正确设置方法

什么是盗链?
type: item
date: 2024-07-29T15:17:00+08:00
description: 盗链（Hotlinking），也称为“盗用链接”或“直接链接”，是指在未经授权的情况下，将某个网站上的资源（如图片、视频、音频等）直接嵌入到另一个网站上，导致资源被直接加载到该网站的页面中。这样做会占用原网站的带宽资源，而未经授权的网站则无需为这些资源的加载和传输付出任何代价。举例说明假设网站A有一张图片，存储在 http://siteA.com/image.jpg。如果网站B在其页面上使用以下HTML代码来显示这张图片： 当用户访问网站B时，这张图片会直接从网站A的服务器上加载。这就意味着，网站A的带宽资源被消耗了，但网站B的用户并不知道这张图片实际上是存储在网站A上的。盗链的影响带宽消耗：原网站的带宽资源被消耗，可能导致额外的费用，特别是对于流量有限制的服务器。负载增加：服务器负载增加，可能影响原网站的性能和速度。版权问题：未经授权使用别人的资源，可能涉及版权侵权问题。安全风险：盗链资源可能被恶意篡改，带来安全隐患。防止盗链的方法使用服务器配置：在服务器端配置防盗链机制。例如，在Apache服务器上，可以通过 .htaccess 文件进行配置： RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F,NC,L] 在Nginx服务器上，可以通过在配置文件中添加以下内容：location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; } }使用CDN：通过内容分发网络（CDN）来分发资源，一些CDN服务提供防盗链的功能。图片水印：在图片上添加水印，注明来源网站，即使被盗链也能让用户知道图片的出处。改变资源URL：定期改变资源的URL，以防止长期盗链。通过这些方法，可以有效防止盗链，保护网站资源和带宽，确保网站的正常运行和内容的合法使用。

什么是SNI?
type: item
date: 2024-07-13T10:03:00+08:00
description: 服务器名称指示（Server Name Indication，SNI）是一种用于改进SSL/TLS协议的扩展。SNI允许客户端在TLS握手过程中指定它们正在尝试访问的主机名（域名），从而使服务器能够选择正确的证书以进行加密通信。这在托管多个SSL/TLS网站的服务器上特别有用，因为不同的网站可能需要不同的证书。SNI的工作原理客户端发送请求：客户端在TLS握手的初始阶段发送“ClientHello”消息时，会包含一个扩展字段，其中包括客户端试图访问的服务器的主机名。服务器响应：服务器接收到“ClientHello”消息后，根据所请求的主机名选择并发送相应的SSL/TLS证书。握手继续：客户端验证服务器提供的证书，并继续完成TLS握手过程，建立加密连接。为什么需要SNI在SNI之前，SSL/TLS握手过程中不包含主机名信息，因此服务器无法知道哪个证书应用于哪个网站。这对虚拟主机（多个网站托管在同一IP地址上）来说是个问题，因为无法在握手过程中选择正确的证书。SNI的优点虚拟主机支持：允许在同一IP地址上托管多个使用不同SSL/TLS证书的网站。节省IP地址：减少了对独立IP地址的需求，从而节省了IPv4地址空间。增强安全性：不同网站可以使用不同的证书和加密标准。支持SNI的浏览器和服务器现代浏览器：大多数现代浏览器（如Chrome、Firefox、Edge、Safari等）都支持SNI。服务器软件：许多服务器软件（如Apache、Nginx、IIS等）也支持SNI。配置SNI在服务器上配置SNI，通常需要设置虚拟主机和相应的证书。例如，在Nginx中配置SNI的示例：server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/example.com.crt; ssl_certificate_key /path/to/example.com.key; ... } server { listen 443 ssl; server_name another-example.com; ssl_certificate /path/to/another-example.com.crt; ssl_certificate_key /path/to/another-example.com.key; ... }每个server块对应一个虚拟主机，服务器根据客户端请求的主机名选择相应的配置块和证书。限制兼容性问题：非常旧的客户端（如老版本的浏览器或操作系统）可能不支持SNI，从而无法正确访问使用SNI的站点。加密域名泄漏：在TLS握手过程中，主机名以明文形式传输，这在某些安全场景下可能是个问题。总之，SNI是解决虚拟主机SSL/TLS证书问题的关键技术，使得在同一IP地址上托管多个安全网站成为可能。

GA4,UTM参数的正确设置方法
type: item
date: 2024-07-12T09:16:00+08:00
description: 配置前提先配置好谷歌分析代码在网站的header或footer中，以达到整个网站页面的跟踪效果。了解UTM各项参数的含义utm_source 描述访问的广告平台、社交媒体网站或内容来源。示例包括“Google”、“Facebook”或“时事通讯”。举例：- utm_source=facebook,utm_source=google等等。utm_medium 跟踪流量类型。对于 Google Ads 广告系列，这通常是“广告”或“每次点击费用”。举例：utm_medium=cpc、utm_medium=newsettleutm_campaign 是活动名称或标识符,比如说节日的一些特定的活动、广告语等等，这个呢生成器里面也称之为UTM Name，举例：utm_campaign=blackfriday_promotionutm_term 捕获付费关键字，举例：utm_term=black_fridayutm_content 表示有关广告创意的一些信息，例如“视频”或“搜索”或有关广告的一些重要信息，或者是我们在做一些A/B测试的时候，去检测不同广告的效果如何等等。把变量信息放在里面，举例：utm_content=800px_banner,utm_content=sidebar如何配置配置地址必须配置以下3项utm_source、utm_medium 和 utm_campaign。等待生效可能要等待几小时甚至超过24小时，第一次配置的时候，在GA4实时页面可以看到最新的流量，但是打的utm tag就是查不到。所以需要耐心等待。筛选条件要改为以下红框设置才能查看到效果