网站被恶意镜像了怎么办?


作者:绅士喵
链接:https://www.zhihu.com/question/58711745/answer/16735014210
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


网站被镜像是最容易解决的,因为镜像网站基本是实时访问你的服务器的。首先获得对方的 IP,然后用 Miragend 代理这个 IP 的访问。Miragend 是一个可以把网页乱码化的反向代理,就像下面这样:

Nginx 举个例子:server { # 省略其它配置... set $ROUTE_FLAGS ""; if ($remote_addr = "1.1.1.1") { set $ROUTE_FLAGS "BOT"; } if ($request_uri ~* "/posts/") { set $ROUTE_FLAGS "${ROUTE_FLAGS}_POST"; } set $target_addr "blog"; if ($ROUTE_FLAGS = "BOT_POST") { set $target_addr "miragend"; } proxy_pass http://$target_addr:8080; # 省略其它配置...}
上面的配置的意思是当 1.1.1.1 这个 IP 请求你的网站的 /posts/ 路径的页面(文章)时,将请求转发给 Miragend 代理访问。你的后端不用做任何事,你的网站是纯静态的都没关系。仅需将需要保护的页面转发给 Miragend 即可。这样对方镜像过去的就是乱码网页了。如果你拿不到 IP,或者条件不允许针对 IP 路由也没关系(例如 Github Pages)。你在 JS 中嵌入检测当前 URL 的代码,如果不是你的域名,你就提示用户正在访问仿冒网站,然后自动跳转到你的网站就行了。


分类