配置防盗链、访问控制Directory、FiliesMatch

本文涉及的产品
访问控制,不限时长
简介:

配置防盗链

举例:我们的网站,被用户上传了很多图片,而用户又在他自己的网站上加上我们网站图片的链接,就直接访问了,这样可以节省他网站的带宽。

  • 通过限制referer来实现防盗链的功能。

referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页链接到一个朋友那里,他的服务器就能够从HTTP referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

  • 配置文件

    文件路径,虚拟主机的配置文件路径:/usr/local/apache2.4/conf/etra/httpd-vhosts.con

    在指定虚拟主机配置文件中添加下面代码:
    <Directory /data/wwwroot/111.com>

    Directory 后跟的是之前定义的 DocumentRoot(网站文件)

    SetEnvIfNoCase Referer "http://111.com" local_ref
    SetEnvIfNoCase Referer "http://ask.apelearn.com" local_ref
    #定义referer白名单,定义了白名单之后,就能通过白名单网址来访问目标文件。
    SetEnvIfNoCase Referer "^$" local_ref
    <FilesMatch ".(txt|doc|mp3|zip|rar|jpg|gif|png)">
    Order Allow,Deny
    Allow from env=local_ref
    #定义规则:允许变量local_ref指定的referer访问,拒绝其他所有访问。 
    </FilesMatch>
    </Directory>

注意:如果在referer白名单中不加“^#”(空referer),直接访问指定内容将会被拒绝。

  • 测试并重载配置

    [root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
    Syntax OK
    [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

使用命令curl -e 指定referer 访问。

[root@localhost ~]# curl -e "http://www.qq.com" -x127.0.0.1:80 111.com/qq.png -I

访问控制Directory

限制一些ip,只有允许的ip才能访问。针对目录。

root@ localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
……
<Directory /data/wwwroot/111.com/admin/>
    Order deny,allow
    # Order 用来定义顺序,是限制性deny(拒绝)还是allow(允许)。不管IP是否匹配到,它都会执行完所有语句。
    Deny from all
    Allow from 127.0.0.1
    #只允许IP--127.0.0.1访问“/data/wwwroot/111.com/admin/”目录中的内容
</Directory>
……
  • 测试并重载配置

    [root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
    Syntax OK
    [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

  • 测试

    [root@localhost ~]# curl -x127.0.0.1:80 111.com/admin/index.php
    121212
    更换IP访问:
    [root@localhost ~]# curl -x192.168.8.131:80 111.com/admin/index.php -I
    HTTP/1.1 403 Forbidden
    Date: Wed, 02 Aug 2017 08:48:49 GMT
    Server: Apache/2.4.27 (Unix) PHP/5.6.30
    Content-Type: text/html; charset=iso-8859-1

    #报错403,只有指定ip 127.0.0.1可以访问该目录。

访问控制 FilesMatch

和Directory基本一致,这仅仅是针对一个访问的链接控制。

[root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
……
<Directory /data/wwwroot/111.com>
    <FilesMatch admin.php(.*)>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    </FilesMatch>
</Directory>
……

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@adailinux admin]# /usr/local/apache2.4/bin/apachectl graceful

[root@localhost ~]# curl -x127.0.0.1:80 111.com/admin.php -I
HTTP/1.1 404 Not Found
Date: Wed, 02 Aug 2017 09:24:22 GMT
Server: Apache/2.4.27 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1


#因为访问的文件不存在,所以报错:404!所以没有被限制,被限制报错为403.


本文转自 豆渣锅 51CTO博客,原文链接:
http://blog.51cto.com/754599082/2054594


相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
1月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
58 2
|
2月前
|
网络协议 网络虚拟化 数据安全/隐私保护
访问控制列表(ACL)配置
访问控制列表(ACL)配置
访问控制列表(ACL)配置
|
2月前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
181 1
ly~
|
3月前
|
消息中间件 搜索推荐 大数据
一般情况下在 RocketMQ 中添加 access key 的步骤: 一、确定配置文件位置 RocketMQ 的配置文件通常位于安装目录下的 conf 文件夹中。你需要找到 broker.conf 或相关的配置文件。 二、编辑配置文件 打开配置文件,查找与 ACL(访问控制列表)相关的配置部分。 在配置文件中添加以下内容:
大数据广泛应用于商业、金融、医疗和政府等多个领域。在商业上,它支持精准营销、客户细分及流失预测,并优化供应链管理;金融领域则利用大数据进行风险评估、市场预测及欺诈检测;医疗行业通过大数据预测疾病、提供个性化治疗;政府运用大数据进行城市规划和公共安全管理;工业领域则借助大数据进行设备维护、故障预测及质量控制。
ly~
193 2
|
3月前
|
NoSQL 关系型数据库 MySQL
HAProxy的高级配置选项-haproxy的四层负载及访问控制案例
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行四层负载均衡和基于策略的访问控制。通过实战案例,展示了如何配置HAProxy以实现对特定IP地址的访问控制,以及如何通过四层负载均衡将流量分配到后端的MySQL和Redis服务。
201 6
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
220 7
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
101 4
|
1月前
|
网络协议 安全 网络性能优化
了解访问控制列表 (ACL):概念、类型与应用
了解访问控制列表 (ACL):概念、类型与应用
69 2
|
2月前
|
网络协议 安全 网络安全
Cisco-命名ACL访问控制列表
Cisco-命名ACL访问控制列表
|
2月前
|
安全 网络协议 网络安全
Cisco-扩展ACL访问控制列表
Cisco-扩展ACL访问控制列表

热门文章

最新文章