怎么设置只能访问域名打开网站,禁止通过IP访问网站?
设置对服务器的 IP 访问限制
您可以允许或拒绝简单邮件传输协议 (SMTP) 虚拟服务器特定 IP 地址的访问。默认情况下,所有 IP 地址都可以访问 SMTP 虚拟服务器。您可以通过指定单个 IP 地址、使用子网掩码的一组地址或一个域名来设置访问限制。
要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iismsc"。
设置 IP 地址访问限制
在 IIS 管理器中,右键单击 SMTP 虚拟服务器,然后单击“属性”。
单击“访问”选项卡,然后在“连接控制”下面,单击“连接”。
单击“仅以下列表”或“仅以下列表除外”。
要向列表添加计算机,请单击“添加”。
要从列表中删除计算机,请选择一项,然后单击“删除”。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
各们高手,我的制作一个网站,但是需要限制一定的IP访问具体就是只能让101292081-10129211255这一段IP地址访问这个网站,别的网站在访问的时候,只显示"禁止访问"等字样就可以了我曾经在网上找到过一段代码:
<%
'获取访问者的地址
ip=RequestServerVariables("REMOTE_ADDR")
'允许的IP地址段为101292081~10129211255
allowip1="101292081"
allowip2="10129211255"
responsewrite checkip(ip,allowip1,allowip2)
function checkip(ip,allowip1,allowip2)
dim check(4)
checkip=false
ipstr=split(ip,"")
allow1=split(allowip1,"")
allow2=split(allowip2,"")
if cint(allow1(0))>cint(allow2(0)) then '判断IP地址段是否合法
responsewrite "禁止访问"
exit function
end if
for i=0 to ubound(ipstr)
if cint(allow1(i))<cint(allow2(i)) then
if cint(allow1(i))=cint(ipstr(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))<cint(allow2(i)) then
check(i)=true
checkip=true
exit for
else
if cint(ipstr(i))>cint(allow2(i)) then
check(i)=false
checkip=false
exit for
else
check(i)=true
checkip=true
end if
end if
end if
else
if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))<cint(ipstr(i)) then
check(i)=false
checkip=false
if i<>ubound(ipstr) then
exit for
end if
else
check(i)=true
end if
end if
next
if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then
checkip=true
end if
end function
%>
我把以上代码直接复制到网站的源代码中(可以确定位置不会出现错误)但是却不能实现我的要求我看了这个算法只能明白其中一部分内容就是得到访问者的IP,再用最小的IP,和最大的IP,三者进行比较最后得出结果但是结果却没有改为我所要的效果由于我比较菜所以不会修改改了几次都是出错实在没有办法,只有到这里请各位高手帮帮忙~~本人不胜感激!!!
解析:
<%
'自己写了一个,你看看行不行
'时间仓促,没有对IP的合法性进行判断,以后再完善一下
ip="10129209255" '测示用,实际应用时,修改为:ip=getTrueIP
allowip1="101292081"
allowip2="10129211255"
CIP=((cpIP(allowip1,ip) And cpIP(ip,allowip2)) Or (cpIP(allowip2,ip) And cpIP(ip,allowip1)))
if CIP then
responsewrite "IP通过验证!" '实际应用时,可将此句注示掉
else
responsewrite "所在IP没有访问本站权限!"
responseend
end if
'函数名:cpIP(ip1,ip2)
'比较IP1,IP2大小,如果IP1<=IP2,返回TRUE
'weiwei at 2006-11-28
Function cpIP(ip1,ip2)
minIPcx=Split(ip1,"")
maxIPcx=Split(ip2,"")
cpIPx=true
For ic_i=0 To UBound(minIPcx)
If CInt(minIPcx(ic_i))>CInt(maxIPcx(ic_i)) Then
cpIPx=false
Exit for
ElseIf CInt(minIPcx(ic_i))<CInt(maxIPcx(ic_i)) Then
Exit for
End If
Next
cpIP=cpIPx
End Function
'get the true ip
Function getTrueIP()
IPmm=RequestServerVariables("HTTP_X_FORWARDED_FOR")
If IPmm="" Then IPmm=RequestServerVariables("REMOTE_ADDR")
getTrueIP=IPmm
End Function
%>
1、在大批量某一字段ip访问你网站之前,会在不该出现的时间段,出现很多各个地方的访问ip,而且时间还很接近。而且,访问同一个页面,没有任何来撸,只有ip和时间。
2、当看到每天都是这几个ip在访问自己网站的时候,需要去加强一下后台和ftp的维护情况。但仍找不到为什么会访问你的网站,然后过一段时间,会发现,同一个ip字段开始大批量的访问你的网站。不定时间,大批量的访问你网站的所有页面。
3、此情此景,大概网站是被攻击了,所有的页面都被采集了。但是,如果这些天每天都在出现这些ip字段,且每天都在访问你的网站,那么,你网站真的是被攻击了,不只是被采集。18097106162查看这个ip,结果如下。
4、那么如何,禁止这些ip字段访问某网站呢?可以在iis服务器进行某一字段的限制。打开IIS,选择要设置的网站,打开“属性”-“目录安全性”,找到“IP地址和域名限制”添加所要限制的ip字段。
5、但是有些lunix是不能使用asp的,除了可以在服务器禁止某一字段之外,还可以用htasces对某一字段进行禁止处理。完成。
1。使用htaccess文件
这是最简单和常用的方法,通过Apache的Deny指令可让你特定禁止某个IP地址访问你的Bluehost服务器。通过在htaccess文件里设置某个IP地址或某段IP地址以达到来禁止某些访客的目的并可以阻止不速之客。但是不正确地使用却可对你的网站流量和性能产生负面影响(使用deny指令将导致Apache将对每一个请求和整个IP列表进行匹配。因此我们不鼓励使用这个方法除非有很好的理由这么做。如果还是需要这么做的话,请限制禁止IP地址的数量)。
在下面的例子中,所有的IP地址和网域都可以访问网站除了256246789 IP地址和examplecom:
# allow all except those indicated here
order allow,deny
allow from all
deny from 256246789
deny from example\com
2。使用CloudFlare
CloudFlare是最简单和最直接的方式来达到禁止某个地区或国家IP访问网站。这个方法需要先启用CloudFlare帐户,而且Bluehost免费支持CloudFlare,不过你必须先登录Bluehost的cPanel网站控制面板后台启用CloudFlare。通过在CloudFlare里添加自定义规则就可轻松地禁止个别IP地址、IP段或任何一个国家访问你的网站。
windows服务器IIS通过域名绑定主机头就可以做到。
Apache服务,建立多域名访问指向,默认设置的话,如果别人把域名指向IP,就会访问默认的站点,下面的设置可以禁止访问。修改httpconf文件,修改后重启APACHE才能生效:
<VirtualHost :80>
ServerAdmin 你的IP地址
DocumentRoot "D:/WWW/ROOTNoSite"
DirectoryIndex indexhtml indexhtm
<Directory "D:/WWW/ROOT/NoSite">
AllowOverride None
Options Indexes FollowSymLinks
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
这样通过IP,或者没有在配制时添加的域名就直接访问到NoSite目录下面,NoSite目录下不要放置任何文件,或者把 Allow from all 修改为 Deny from all 禁止访问。
1、可以在iis服务器进行某一字段的限制。打开IIS,选择要设置的网站,打开“属性”-“目录安全性”,找到“IP地址和域名限制”添加所要限制的ip字段。
2、如果是家用宽带路由器,在路由器上设置黑名单就可以禁止指定的IP访问自己的路由器上网。
3、禁止某个ip访问,可以尝试以下的方法。方法在服务器空间管理平台有相关功能,例如:IP黑名单。
4、这个简单,在IIS里进行设置即可,过程如下:打开IIS管理器,选择你的域名,点右键-属性,选择”目录安全性“,看到第二栏的”IP地址和域名限制“了吗?点编辑,添加,加入你想限制的IP即可,不要忘了选中“拒绝访问”。
5、区域网中禁止使用者访问特定网站的方法开启浏览器,输入“191601”登陆路由器管理介面。在管理介面中,切换至“行为管理”选项卡,点选“网站过滤”项。将“过滤模式”设定为“仅禁止”。
6、allowallexceptthoseindicatedhereorderallow,denyallowfromalldenyfrom252689denyfromexample\com2。使用CloudFlareCloudFlare是最简单和最直接的方式来达到禁止某个地区或国家IP访问网站。
0条评论