我注意到另一个人/公司的域名指向我的服务器?我不知道这家公司是谁或为什么他们将他们的域名指向我的服务器IP?
我怎样才能阻止它或强迫它们改变?
解决方法
我不确定肇事者的意图是什么.它可能是通过将我的域名停放在我的IP地址来获得搜索引擎排名.或者它可能涉及一些跨站点脚本或IFrame / javascript / flash安全黑客尝试.最重要的是,他在不同时间将两个不同的域名指向我的网络服务器地址.
他的两个域名都是在GoDaddy注册的,所以我用他们的滥用行为来报告他们的DNS服务器我们被用于一个可疑的做法.
首先,如果URL中的HTTP_HOST是其他人的域名,我在我的主页上添加了代码以响应404 – Not Found错误.我这样做是因为我认为这是他的错误.但在得知同一个人随后在我们的IP地址指出另一个域名后,我不得不找到一个更好的解决方案.
更好的解决方案…参见示例2的脚本.
我将Microsoft IIS配置为对我们的有效域名使用显式主机头.然后我在IIS中创建了一个不使用主机头的新网站,并将其标记为“Rogue Domain Names”.解析到我的网络服务器的任何域名都与我明确定义的主机标题之一匹配,可以找到正确的内容.但是,未在主机标头设置中定义的任何域名都会转到Rogue Domain Names站点.该Rogue Domain Names站点的默认主页包含一个脚本,用于发送“301 – Moved Permanently”响应,将请求重定向到Google.com.
我决定,如果意图是毒害搜索引擎结果或窃取排名,谷歌可能会发送他的流量,从而从谷歌蜘蛛赚取他的网站恶意.
设置网站以捕获设置为解析我们的IP地址的未知域名的另一个好处是,我现在可以记录活动并查看它发生的频率.它还使站点测试比将代码插入单个页面更容易,以检查有效的域名并在必要时重定向.
这里是使用经典ASP的代码片段…
示例1.页级域名拒绝
将此代码插入ASP主页以拒绝未知的域名
If instr(1,UCase(Request.ServerVariables("HTTP_HOST")),"OURSITE.COM") < 1 Then Response.Status = "404 Not Found" Response.Write(response.Status) Response.End End If
示例2 – IIS级别域名拒绝
<%@ Language="VBScript" CodePage=65001%> <% option explicit%> <% ' ' Some fraudulent webmasters have in the past set up DNS entries to resolve their domain names to our IP address. ' This file is a counter measure to prevent other domain names from resolving to our site. ' The intent of the fraud may be to gain search engine ranking status for their domain name by pointing it to a ' well known site. Or there could be more going on such as cross-site scripting attacks... ' By using IIS host headers,we explicitly resolve domain names. Any host headers that are not defined in IIS ' land on the Rogue Domain names website which servies up a 301 - Moved Permanently page that redirects to Google. '-------------------------------------------------------------------------------------------------------------------- Response.Buffer = True If instr(1,"OURSITE.COM") < 1 Then Response.Status = "301 Moved Permanently" Response.AddHeader "location","http://www.google.com/" Response.End End If %>