服务器上必须保留空主机头,如何放置恶意域名指向呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器上必须保留空主机头,如何放置恶意域名指向呢?相关的知识,希望对你有一定的参考价值。

服务器上必须保留空主机头,如何放置恶意域名指向呢?
是防止,不是放置。我的服务器是WINDOWS2003+IIS的.谢谢!

域名恶意指向是指一些用户出于种种目的将自己的域名通过域名服务商的服务,解析到他人的服务器上,而被解析的服务器上实际没有相应的站点,这种情况称为恶意指向。

域名被恶意指向所解决办法:

主要是绑定所有站点,禁用空主机头或默认站点,只能基于域名的访问方式,不使用基于IP,下面介绍IIS与APACHE的设置方法。

1、IIS的设置方法
IIS默认中,将任何站点都绑定到固定的域名,不可以留空主机头,这样没有绑定主机头的域名恶意指到此IP,默认会提示400错误。

2、Apache 的设置方法
Apache可以通过禁用第一个虚拟站点。
打开apache的配置文件,通常是httpd.conf文件,使用基于域名的访问方式。必须有下面的指令,Apache的第一个虚拟站点即为默认站点,必须对此站点进行限制。

域名恶意指向的原理:
若某个非法域名指向到某台服务器,而该服务器上存在空主机头的站点,此时web服务器会自动将请求分配到空主机头的站点上,这样就使非法指向的恶意域名有了可访问性。

域名恶意指向之后会有什么后果:
非法网站被工信部扫描到之后,将会影响到该主机客户的域名备案等信息。

如何防止域名恶意指向:
将每个网站均绑定主机头,即可有效防止dns恶意解析。
参考技术A 1.发现将主机头设为空后,任何域名都可以解析到我的服务器上,并可以访问,这样很危险,至少在中国很危险。
2.主机上有多个站点,但“主机头设为空”只能一个站点。

解决办法:
1)你可以在httpModules中分析客户端的HTTP请求,做相应的处理
继承System.Web.IHttpModule接口,然后去实现接口定义的方法。

2)你可以为站点指定不同的IP或不同的端口号。或者使用类似问题1的解决方法去解决,写一程序,托管所有指向服务器的域名。
参考技术B 在网站默认首页写一段代码,只允许授权了的域名。 参考技术C 只有在空主机头对应的网站首页中 添加判断程序来进行判断重定向恶意域名,或者使用REWRITE 写规则来处理恶意域名,其他可能没有办法!如果对你有帮助,请采纳,谢谢追问

这个办法是缓兵之计,管局发现是跳转的,还是会封IP的。有其他更彻底的解决办法吗?

追答

你没有办法阻止别人把域名解析到你的IP上,另外,如果机房有防火墙 或者白名单设备的话,可以考虑让他们在防火墙或者白名单设备上加以阻止!其他别无他法了!

追问

还有人有招没?

本回答被提问者采纳
参考技术D 在iis里面设一个白名单,这个白名单列入允许的所有域名和二级域名,允许访问的IP,其它的一概不允许访问, 如果有人恶意解析到你的Ip,只要访问不到内容,你们在回复管局时注明为恶意解析即可,但如果恶意解析域名很多还是建议你换IP追问

这样设置会拖慢打开速度,不是很好。

二级域名原理以及程序代码

二级域名原理以及程序代码

TYPE:经典代码片段 TIME:2002-7-30
AUTHOR:扬子 URL:N/A
HIT:51  DAYHIT:1  WEEKHIT:1  
技术分享图片
要达到二级名的效果,必须一下条件以及流程:
1、必须有一个顶级域名,而且此域名必须做好泛解析并做好指向。
2、必须有一台独立的服务器。泛解析的域名指向该服务器。
3、在服务器上的IIS建一个空的主机头名的web站点。
4、将默认的页面设置为你的二机解析程序(比如:freedns.asp)
5、二级域名系列程序(包括申请页:shenqing.htm,添加页add.asp,解析页,)


此程序的优点:
a,可以限制申请域名的敏感字,比如 hacker,wwww,sex,china等
b, 可以限制申请域名的非法字,比如:!·#¥%……—*()——?‘“/等
c, 每个地址只能申请一个域名。
d,限制申请域名的长度,
e, 如果用户所访问的域名没人申请则转到特定的页面,本例中http://www.asp.net
f, 申请了域名:***.yourname.com 可以同时支持:http://***.yourname.com 以http://www.***.youranme.com 两个域名的访问。


一下为系列程序代码:
shenqing.htm

<form action=adddns.asp method=post name=Frm onSubmit="return check_input()"> <br> <font color=red>加*号为必填内容</font> <br>
您想注册的域名:
http://<input name="nowurl" size=12
style=" BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt"> .51bxg.com
     <br>
你实际的网站地址:
<input name="tourl" size=12
style=" BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt">
你要求显示的title:
<input name="company" size=12
style=" BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt">


<br>
<input type="submit" name="Submit" value=" 提 交 信 息 " style="border:1px double rgb(88,88,88);font:9pt">
  
<input type="reset" name="Reset" value=" 重 新 填 写 " style="border:1px double rgb(88,88,88);font:9pt">
</p>
</form>


添加记录页面add.asp
<!--#include file="char.inc"-->
<!--#include file="conn.asp"-->
<%
uID=request.cookies("*****")
%>
<%
dim nowurl,tourl,company,along,pbkey
nowurl=trim(request.form("nowurl"))+".51bxg.com"
nurl=trim(request.form("nowurl"))
tourl=trim(request.form("tourl"))
company=trim(request.form("company"))
along=20
pbkey="www,sex,admin,w,ww,wwww,hacker,hack"


set rs=server.createobject("adodb.recordset")
sql="select * from dns where userid=‘"&uid&"‘"
rs.open sql,conn,1,1
if not rs.EOF then
response.write"很抱歉,你已经申请过二级域名,每个用户只能申请一个二级域名!<br>你申请的二级域名是http://";+rs("nowurl")
response.end
end if


set rs=server.createobject("adodb.recordset")
sql="select * from dns where nowurl=‘"&nowurl&"‘"
rs.open sql,conn,1,1
if not rs.eof then
response.write"很抱歉,你申请的域名http://";+nowurl+"已经被其他公司申请,请另外申请域名。"
response.end
end if

if len(nurl)>along then
response.write"很抱歉,你输入的域名太长,请重新输入"
response.end
end if

if instr(pbkey,nurl) then
response.write"很抱歉,你输入的域名因为含有敏感字而不管理员屏蔽,请重新输入。"
response.end
end if

‘判断字符的合法性
if instr(nurl,"~") or instr(nurl,"`") or instr(nurl,"/") or instr(nurl,"?") or instr(nurl,">") or instr(nurl,"<") or instr(nurl,";") or instr(nurl,":") or instr(nurl,"}") or instr(nurl,"{") or instr(nurl,")") or instr(nurl,"(") or instr(nurl,"*") or instr(nurl,"&") or instr(nurl,"^") or instr(nurl,"%") or instr(nurl,".") or instr(nurl,",") or instr(nurl,"‘") or instr(nurl,"~") or instr(nurl,"!") or instr(nurl,"$") then
response.write"很抱歉,你输入的域名含有非法字符,请重新输入,以下字符为非法字符:<br>~ ` / ? > < ; : } { ) ( * & ^ % $ # @ ! "
response.end
end if


set rs=server.createobject("adodb.recordset")
sql="select * from ** where theid is null"
rs.open sql,conn,3,3
rs.addnew
rs("userid")=uID
rs("nowurl")=nowurl
rs("tourl")=tourl
rs("company")=company
rs.update
response.write"祝贺,申请成功,你马上就可使用你的域名技术分享图片http://";+nowurl
%>


域名解吸程序: freedns.asp
<!--#include file="conn.asp"-->
<%
dim geturl
geturl=replace(Request.ServerVariables("HTTP_HOST"),"www.","")

set rs=server.createobject("adodb.recordset")
sql="select * from tb where nowurl=‘"&geturl&"‘"
rs.open sql,conn,1,1
if rs.eof then
response.redirect"技术分享图片http://www.asp.net";
else
dim tourl,company
tourl=rs("tourl")
company=rs("company")
%>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<META CONTENT="text/html; CHARSET=UTF-8" HTTP-EQUIV="Content-Type">
<TITLE><% =company %></TITLE>
</HEAD>


<frameset frameborder="0" framespacing="0" scrolling="no" border="0" marginheight="0" marginwidth="0" rows="0,*">
<frame scrolling="NO" noresize="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" target="main" name="main" SRC="about:blank">

<frame scrolling="yes" noresize="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" target="main" name="main" SRC="<% =tourl %>">

<noframes>
<body>
<p>This page uses frames, but your browser doesn‘t support them.</p></body>
</noframes>
</frameset>
</HTML>
<% end if %>

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net












































































































































以上是关于服务器上必须保留空主机头,如何放置恶意域名指向呢?的主要内容,如果未能解决你的问题,请参考以下文章

我的网站被恶意域名指向了,请教nginx该怎么设置

如何做到访问二级域名指向我网站根目录的二级目录呢?

二级域名原理以及程序代码

apache2.4怎么屏蔽其他域名

如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》

destoon公司网站一级域名如何绑定