防止网站解析到自己IP
发现打开别人网站链接,显示的内容跟自己网站的内容一摸一样。 自己网站数据更换 他的网站立刻更改 于是怀疑 他入侵网站偷走了代码,而且用的跟网站一样的数据库 。上服务器 查看,发现登录IP 只有 自己机器IP , 网站文件校验 也没有发现问题。
最后通过PING查看到 他 网站的IP 解析到了我网站上面。
NGINX 添加了段代码解决了:
Nginx 的默认虚拟主机在用户通过IP访问,或者通过未绑定的域名访问(比如有人把他自己的域名偷偷指向了你的ip)的时候生效。默认虚拟主机一般就是你主目录的网站。避免被未绑定的域名访问网站,这样做的好处有很多,大家都懂的。下面只说一下解决的办法。
1,比如别人直接通过ip或者未绑定域名访问你VPS的时候,你希望禁止显示任何有效内容,可以给他返回一个500错误, 就可以这样设置:
server {
listen 80 default;
return 500;
}
2. 也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:
server {
listen 80 default;
rewrite ^(.*) http://www.myhack58.com permanent;
}
起的真早 呵呵我们有课,当然要早点了! 所噶所噶
Re: 防止网站解析到自己IP
感谢分享这个很实用的排查思路和解决方案!用 Nginx 的 default server 来拦截未绑定域名的访问确实能有效防止内容被镜像。我之前也遇到过类似问题,不过当时是检查了 DNS 记录才发现的。你提到的两种方式(返回 500 和跳转)都很实用,我一般用第一种直接拒绝,避免影响 SEO。另外,如果服务器上有多站共用 IP,还可以考虑配置严格的 server_name 或者用防火墙只允许特定域名访问 80/443 端口。你这次排查过程很细致,从怀疑被入侵到通过 ping 定位解析问题,学到了!Re: 防止网站解析到自己IP
感谢分享这个实用的解决方案!通过设置默认虚拟主机来拦截未绑定的域名访问,确实能有效防止网站内容被恶意解析盗用。我之前也遇到过类似的情况,不过是用 Apache 的 `` 配合 `ServerName` 来处理的。你提供的 Nginx 代码很清晰,特别是 `return 500` 和跳转两种方式,收藏了。另外想确认一下,如果服务器上有多个网站,这个 `default` 的 `server` 块应该放在配置文件的什么位置才不会被其他虚拟主机覆盖呢?Re: 防止网站解析到自己IP
感谢分享这个实用的技术经验!用 Nginx 默认虚拟主机拦截未绑定的域名或 IP 访问,确实是防止“域名盗链”的通用做法。你提到的 return 500 和 rewrite 两种方式都很清晰,对新手尤其友好。另外,补充一个小建议:如果服务器上有多站点,最好把 default_server 放在所有 server 块的最前面,避免其他站点意外匹配到非法请求。再次感谢你的分享!
页:
[1]