Linux Apache配置下禁止IP直接访问网站

2021年2月27日16:29:00 评论 1444字阅读4分48秒

Linux Apache配置下禁止IP直接访问网站

PHP网站开发中,基于WEB服务器和PHP网站程序代码的安全考虑,我们需要对相关的目录或者文件访问权限进行控制,以防止意外情况的发生,那么我们如何来实现这种功能呢?我们可以通过Apache来实现禁止目录访问(禁止游览列出的目录或文件列表)、禁止或允许IP与域名访问目录。

今天看到这样的 一个例子,VPS的IP被人恶意绑定,流量被劫持到别的域名,从而遭到广告联盟的封杀。原理是什么呢?简单解释就是,你的网站可以通过IP直接访问,本来 这没什么问题,但是如果被人恶意用别的域名解析到你的IP的话,那么你的网站就能通过别人的域名来访问了。广告联盟肯定也是跟域名绑定的,被人这么一搞, 时间一长肯定会被发现域名不符,于是就整个杯具了。

如何发现IP被恶意绑定呢?利用站长工具,同IP网站查询:http://tool.chinaz.com/Same/。
如何解决这个问题?让人只能通过域名来访问网站,而不能通过IP来直接访问。

方法一、修改Apache配置文件httpd.conf

如果你的Apache开通了虚拟主机,则需要修改conf/extra/httpd-vhosts.conf文件。如何判断Apache是否开通了虚拟主机,在配置文件httpd.conf中搜索,若有类似如下的选项的,则开启了虚拟主机。#为注释。

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

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

NameVirtualHost XXX.XXX.XXX.XXX
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  XXX.XXX.XXX.XXX
<Directory />
Order Allow,Deny
Deny from all
</Directory>
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  yourdomain.com
DocumentRoot  /var/www/
</virtualhost>

其中XXX.XXX.XXX.XXX为你的IP地址,第一处virtualhost配置为拒绝IP的任何访问请求,返回403错误。第二处的virtualhost配置为允许通过yourdomain.com这个域名访问,网站主目录为/var/www/(假设这是你的网站主目录)

方法二、利用Apache的Rewrite和PHP实现400错误

新建一个虚拟主机配置,将来自IP的访问Rewrite到一个自定义的PHP页面。

ServerName  XXX.XXX.XXX.XXX
DocumentRoot /var/www/error/
RewriteEngine On
RewriteRule  ^.*  /400.php

其中XXX.XXX.XXX.XXX为你的IP地址,网站主目录为/var/www/error/
编辑文件/var/www/error/400.php,内容如下:

<?php
header(“HTTP/1.1 400 Bad Request”);  
?>
<h1>Bad Request</h1>

这样以来,即可实现直接用IP访问返回400错误了。
修改完成之后,务必要重新加载Apache配置,命令如下:

service httpd reload

继续阅读
  • 文本由 发表于 2021年2月27日16:29:00
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
VPS/云主机 iis6 限制IP访问方法 网站建设

VPS/云主机 iis6 限制IP访问方法

VPS/云主机 iis6 限制IP访问方法 windows主机IIS限制IP访问方法: 首先打开IIS 点击“网站”,右键属性,(如果仅给单个网站设置,请选择下边的站点,点右键“属性”,然后再按下面的...
Linux下Apache网站目录读写权限的设置 网站建设

Linux下Apache网站目录读写权限的设置

Linux下Apache网站目录读写权限的设置 网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定。 我们假设http服务器运行的用户和用户组是www,网站用户为cen...
Apache安装与配置教程 网站建设

Apache安装与配置教程

Apache安装与配置教程 Apache音译阿帕奇,是世界上使用最广的web服务器,也是最流行的web服务器之一。因为流行就更得学会安装和配置了,下面给大家分享下怎么下载安装以及配置apache服务器...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: