一、什么是恶意解析

一般情况下,要使域名能访问到网站需要两步,第一步,将域名解析到网站所在的主机,第二步,在web服务器中将域名与相应的网站绑定。但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站。可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP、拔线甚至罚款的后果都是需要您来承担的。某些别有用心的人,通过将未备案域名解析到别人的主机上,使其遭受损失,这是一种新兴的***手段。

二、Apache服务

在用apache搭建的WEB服务器的时候,如何想只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有以下两种方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。

在httpd.conf文件最后面,加入以下代码

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName 221.*.*.*
    <Location />
        Order Allow,Deny
        Deny from all
    </Location>
</VirtualHost>
     
<VirtualHost *:80>
    DocumentRoot "/www/web"
    ServerName www.wzlinux.com
</VirtualHost>

说明:上部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。下部分就是允许通过www.wzlinux.com这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)。

三、Tomcat服务

修改server.xml这个配置文件。

比如服务器IP地址是 192.168.1.2 ,相应域名是 www.wzlinux.com。

打开 %TOMCAT_HOME%/conf/server.xml文件,找到 Engine节点作如下Xml代码。

<Engine name="Catalina" defaultHost="www.piis.cn"> 
  <Host name="www.piis.cn" appBase="webapps" 
        unpackWARs="true" autoDeploy="true" 
        xmlValidation="false" xmlNamespaceAware="false"/> 
  <Host name="192.168.1.2" appBase="ipapps" 
        unpackWARs="true" autoDeploy="true" 
        xmlValidation="false" xmlNamespaceAware="false"/> 
</Engine>

注意事项:

  1. Engine 节点配置的 defaultHost 表明缺省访问的Host。defaultHost对应的名称必须存在于Engine节点下配置的host节点中。

  2. 当一台机器有多个IP,而按照规定只允许通过一个指定的域名访问时很有用。此时,把defaultHost指定为非域名对应的host,这样不通过域名访问时就都定位到指定的非域名HOST了

  3. Host 节点 name 对应IP地址,以及域名。一个Host只有指定一个IP或域名。

  4. Host 节点的 appBase ,对应的是存放web应用的目录。这里输入的目录相对于 %TOMCAT_HOME%,如上面的www.wzlinux.com对应的目录是 %TOMCAT_HOME%/webapps,而192.168.1.2 对应的目录是 %TOMCAT_HOME%/ipapps。

四、Nginx服务

定义一个默认的空主机名,禁止其访问,需要通过的域名一定要在其他server配置。

server {
    listen       80 default;
    server_name  "";
    return  444;
}

或者

server {
    listen       80 default;
    server_name  _;
    return  444;
}

防止恶意解析——禁止通过IP直接访问网站的更多相关文章

  1. Nginx禁止直接通过IP地址访问网站

    介绍下在nginx服务器禁止直接通过IP地址访问网站的方法,以避免别人恶意指向自己的IP,有需要的朋友参考下. 有时会遇到很多的恶意IP攻击,在Nginx下可以禁止IP访问. Nginx的默认虚拟主机 ...

  2. PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码

    PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码 <?php /* *通过禁止IP频繁访问防止网站被防攻击代码*design by www.scutephp.com*/header('C ...

  3. Nginx禁止IP直接访问网站

    禁止别人直接通过IP访问网站,在nginx的server配置文件前面加上如下的配置,如果有通过IP直接访问的,直接拒绝连接(需要去掉别的server下的default_server). server ...

  4. Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)

    这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下   国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问 ...

  5. 为什么用IP无法访问网站,域名可以访问?

    我们访问网站都是通过域名进行访问的,偶尔会使用网站IP进行访问,如学校通常使用IP登录教务处,但很多的时候我们无法通过ip进行访问其他网站,这就涉及到服务器的问题了. 网站都是依托在服务器上面的,而服 ...

  6. 禁止 一些地区的ip用户访问 网站

    01 framework.php 中 获取请求的ip地址.保存为常量 define('IP', request::get_clientip()); 02 setting表中.属于system模块,保存 ...

  7. Apache下禁止使用IP直接访问本站的配置方法

    现在管的严啊,上面要求不能使用IP直接访问服务器,把apache配置做下调整就行了.方法如下: 打开apache的配置文件 # vi /usr/local/apache2/conf/extra/htt ...

  8. IIS设置禁止某个IP或IP段访问网站的方法

    网站被刷,对话接不过来 打开IIS,选中禁IP的站点,找到“ip地址和域限制”这个功能,如果没有安装,打开服务器管理器,点击角色,窗口右边找到添加角色服务,找到“IP和域限制”并勾选安装. 打开ip地 ...

  9. APACHE 禁止通过IP直接访问

    若是开通了虚拟主机,则需要在httpd-vhosts.conf中修改配置如下:若没有开通虚拟主机,则可以直接在httpd.conf文件最后面,加入以下代码: NameVirtualHost XXX.X ...

  10. IIS 之 添加绑定域名 或 设置输入IP直接访问网站

    1.打开IIS,右键站点 → 编辑绑定,弹出“网站绑定”窗口,如下图:   2.点击“添加”,弹出“添加网站绑定”窗口,如下图:   注意:若想输入 IP 地址直接访问,则可以有以下两种设置任一均可: ...

随机推荐

  1. 不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密

    本文作者张彦飞,原题"聊聊TCP连接耗时的那些事儿",有少许改动. 1.引言 对于基于互联网的通信应用(比如IM聊天.推送系统),数据传递时使用TCP协议相对较多.这是因为在TCP ...

  2. 【饮食与健康】【AIGC创作】表观生理年龄逆转指北

    一.引言 我们都知道,岁月不饶人,但是谁又不想在岁月的长河中留下青春的容颜呢?在这个人人都追求健康和美丽的时代,我们的生活节奏却愈发紧张,高压的工作和不规律的作息让我们的身体时刻处于亚健康状态.这时候 ...

  3. Python连接远程设备

    import paramiko def content_ssh(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(parami ...

  4. 输出满足1+2+3+…+*n*<8888的最大整数

    输出满足1+2+3+-+n<8888的最大整数 编写应用程序,输出满足1+2+3+-+n<8888的最大整数 输出格式:满足条件的最大整数:xxxxx public class Demo0 ...

  5. JDK8之前日期时间API

    /*java.util.Date类---java.sql.Date类1.两个构造器的使用 >构造器一:Date():创建一个对应当前时间的Date对象 >构造器二:创建指定毫秒数的Date ...

  6. ORACLE多表级联更新( MERGE、UPDATE FROM JOIN替代语句)

    方法一:MERGE语句的语法 MERGE INTO 表名 USING 表名/视图/子查询 ON 连接条件 --多个条件注意()括起来 WHEN MATCHED THEN -- 当匹配得上连接条件时 更 ...

  7. 释放全球互连的数字潜力!MWC 2024云网高峰论坛召开,中国电信天翼云扬帆起航!

    2月27日,在2024年世界移动通信大会(MWC 2024)期间,中国电信云网高峰论坛顺利召开.本次论坛以"释放全球互连的数字潜力"为主题,汇聚全球多个国家和地区的通信业领袖和重量 ...

  8. vue-element-template改为从后台获取菜单

    一.后端接口获取菜单信息 1.返回数据样式 { "code": 20000, "data": [{ "menuId": "2000 ...

  9. Drasi Reactions SDK

    Drasi Reactions SDK 是一个跨语言的开发工具包,用于实现和处理 Drasi 平台的 Reactions(反应器)功能.该 SDK 目前支持三种主流编程语言:JavaScript/Ty ...

  10. java stream sorted排序 考虑null值

    项目里使用到排序, java里没有像C# 里的linq,只有stream,查找stream.sorted源码看到有个 Comparator.nullsLast 然后看了一下实现,果然是能够处理null ...