阻止指向您的其他域名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止指向您的其他域名相关的知识,希望对你有一定的参考价值。
我有域名abc.com,我注意到另一个域名不属于我的域名,指向与我相同的IP地址。这是重影我的,所以当你访问该网站时,它看起来就像你在我的网站。
有关如何预防的任何想法?
我的vhost看起来像:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /path/to/site
<Directory /path/to/site/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !example.com [NC]
RewriteCond %{HTTP_HOST} !example.com [NC]
RewriteRule .? - [F]
ServerName example.com
ServerAlias www.example.com
</VirtualHost>
</IfModule>
Apache使用HTTP请求标头中的Host
字段来了解请求的vhost(Host
对应于apache ServerName
或ServerAlias
)。
试试apache2ctl -S
,它会给你一个包含如下内容的输出:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server ip (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost ip (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.example1.com (/etc/apache2/sites-enabled/001-vhost.conf:1)
port 80 namevhost www.example2.com (/etc/apache2/sites-enabled/002-vhost.conf:1)
*:443 is a NameVirtualHost
default server 127.0.1.1 (/etc/apache2/sites-enabled/default-ssl.conf:2)
port 443 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/default-ssl.conf:2)
port 443 namevhost www.example1.com (/etc/apache2/sites-enabled/non-default-ssl.conf:2)
现在假设我的ip是1.1.1.1:
鉴于这三个curl
命令:
1. curl http://1.1.1.1 -H 'Host: www.example1.com'
1. curl http://1.1.1.1 -H 'Host: www.example2.com'
1. curl http://1.1.1.1 -H 'Host: www.spoofexample.com'
首先,apache在vhost文件中找到相应的ServerName
,并使用/etc/apache2/sites-enabled/001-vhost.conf来满足请求
第二,apache在vhost文件中找到相应的ServerName
,并使用/etc/apache2/sites-enabled/002-vhost.conf来满足请求
第三个(你的不受欢迎的映射DNS),apache没有在任何vhosts文件中找到相应的ServerName
,并使用/etc/apache2/sites-enabled/000-default.conf来满足请求
同样的逻辑适用于SSL虚拟主机。
PS1:ServerName
默认HTTP vhost的值为ip
,默认SSL vhost中没有ServerName
。 Apache只假设一个127.0.1.1
,它不是它所监听的IP地址(只是告诉它不会让人感到困惑)。
PS2:要使vhost成为默认值,它必须是按名称排序的第一个(000 - > 001 - > 002)。
有人可能会冒你的帐户。假设我是hostgator的abc.com域名所有者。为了在godaddy.com上托管它,我必须去域控制器把godaddy名称服务器放在那里。然后在托管我创建一个同名的网站。您也不应该使用ipaddress托管真实域名。始终使用名称服务器,这将阻止所有这些配置。请检查此页面是否有重定向https://www.namecheap.com/support/knowledgebase/article.aspx/385/2237/how-to-redirect-a-url-for-a-domain您是否从本地计算机托管域名?
以上是关于阻止指向您的其他域名的主要内容,如果未能解决你的问题,请参考以下文章