资产访问限制方法 - 阻止不需要的访客
钥匙要点
- >对您的资产实施访问控制对于安全至关重要。白名单是推荐的方法,看门人只允许受信任的实体访问您的资产。可以将该网守放置在HTTP服务器或应用程序代码上,提供检查HTTP_HOST的工具。
> HTTP服务器可以有效地处理访问控制,而无需为每个请求启动应用程序代码。根据服务器,可以使用不同的方法,例如mod_rewrite或apache中的允许/拒绝,或者可以使用nginx中的httpreferermodule。但是,如果有许多域需要管理或频繁更改,则这种方法的可伸缩性可能是一个挑战。 在应用程序代码级别上的访问控制提供了更大的灵活性。此方法还可以处理IFRAME情况,在此情况下,转介商未提供有关iFrame状态的信息。但是,HTTP服务器和应用程序代码方法都不是万无一失的,建议使用基于令牌的守门人(例如Oauth)来增强安全性。 - >
但是,我们如何控制谁有访问权限,允许谁消耗我们的带宽并查询我们的服务?
我们将问题定义为
控制访问to
资产>
通过资产,我们的意思是:任何可以从我们的网站查询的东西。
在谈论访问控件时,我们进入安全域。在谈论安全性时,白名单应该是解决问题的方法。控制谁可以访问您的资产
比控制谁更容易访问您的资产。根本不可能知道互联网的所有布吉怪物。为了保护我们的
资产,我们雇用了一个看门人,只让我们信任的人。问题解决了。但是,看门人应该如何举起?> 举重策略
>取决于您希望看门人的安全性以及客户要求的东西,可以使用不同的策略。 兄弟,你甚至举起吗?
那么,您的看门人在哪里坐在哪里?事实上,客户是访问控制的事实,因为他是一个不可靠的人。另一方面,HTTP服务器和应用程序代码是有用的选项。两者都为我们提供了强大的工具来检查HTTP_HOST。
>
在Apache中,有两种不同的方法。我们可以使用mod_rewrite或允许/拒绝。
>对于每一个小编辑,我们都需要深入研究我们的配置文件 - 您手动更改的越多,越会出错。 >
如前所述,依靠推荐人并不总是一个好主意。它不仅是来自我们不可靠的人的数据,而且还没有关于我们是否处于iframe中的任何线索。根本无法知道。
这就是为什么我们让杀手检查是否在iframe中的原因。如果是这样,我们让他杀死了我们的目标:
>
IP阻止在资产访问限制中如何工作? IP阻塞是一种用于防止特定IP地址访问数字资产的方法。这是通过将IP地址添加到服务器配置文件中的“黑名单”中来完成的。来自这些IP地址的任何请求都将被拒绝,有效地阻止了它们访问资产。 用户代理阻止是一种用于防止特定浏览器或设备访问数字资产的方法。这是通过识别用户代理字符串来完成的,用户代理字符串在向服务器提出请求时由浏览器或设备发送。如果用户代理字符串在服务器的“黑名单”上与一个匹配,则该请求将被拒绝。 >在资产访问限制方法时,是否有使用资产访问限制方法的缺点?可以提供高水平的安全性,他们还可以阻止合法用户。例如,IP阻止可以阻止使用VPN或代理的用户,而地理障碍可以阻止出国旅行的用户。因此,重要的是在实施这些方法之前仔细考虑对用户的潜在影响。
当人们使用链接
>
>根据所使用的设置,查询通过一系列
。简单的设置为:客户端 - > http服务器 - >应用程序代码>
>根据您的HTTP服务器,可以使用不同的解决方案。mod_rewrite方法:
# Turn mod_rewrite on
RewriteEngine On
# if it is not trusted.domain.tld block it
RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC]
RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC]
RewriteRule ^ - [F]
#specify the files to guard, block all the assets
<files "*.*">
#block everyone
Deny from all
#allow trusted ones
Allow from trusted.tld trusted.domain.tld
</files>
这里的大问题是可扩展性:如果我们有1000个域需要能够访问我们的资产怎么办?如果域列表经常更改
怎么办?
应用程序代码知道该怎么做
在应用程序代码级别上,在应用程序代码级别上拥有访问控件意味着更大的灵活性。一个人可能很快就会让他的守门人起床并跑步:location / {
valid_referers trusted.tld trusted.domain.tld;
if ($invalid_referer) {
return 444;
}
}
那些iframe呢?# Turn mod_rewrite on
RewriteEngine On
# if it is not trusted.domain.tld block it
RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC]
RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC]
RewriteRule ^ - [F]
#specify the files to guard, block all the assets
<files "*.*">
#block everyone
Deny from all
#allow trusted ones
Allow from trusted.tld trusted.domain.tld
</files>
location / {
valid_referers trusted.tld trusted.domain.tld;
if ($invalid_referer) {
return 444;
}
}
>
>这里提供的解决方案将使您免受大多数布吉怪物的侵害。但是两种解决方案都不是傻瓜。第一个使用来自客户端的数据,第二个是由客户端运行的JavaScript。
安全的方法是使用基于令牌的网守。 Oauth可能是您想要在这里工作的人,但这超出了本文的范围。资产访问限制方法是用于防止未经授权访问数字资产的策略。这些方法包括IP阻止,其中涉及从特定的IP地址阻止访问;地理障碍,该地理位置限制了访问权限;和用户代理阻止,可防止从特定的浏览器或设备访问。其他方法包括HTTP推荐程序阻止,该阻止限制了基于Referring网站的访问和密码保护,该密码保护要求用户输入密码以获取访问权限。
>如何在资产访问限制中使用用户代理阻止?
>
>密码保护如何在资产访问限制中起作用?>
可以一起使用多个资产访问限制方法? 🎜>是的,可以将多个资产访问限制方法一起使用以提供更高级别的安全性。例如,您可以使用IP封锁来防止特定IP地址访问,然后使用密码保护进一步限制访问对授权用户的访问。>在您的网站上实现资产访问限制方法通常涉及修改服务器的配置文件。确切的过程将取决于您使用的服务器软件以及要实现的特定限制方法。
>>资产访问限制方法的一些替代方法是什么?
资产访问限制方法的替代方法包括使用内容交付网络(CDN)分配您的资产,使用防火墙保护服务器,或使用提供一系列安全功能的安全插件或服务。这些替代方案可以提供高水平的安全性,而没有资产访问限制方法的潜在缺点。
以上是资产访问限制方法 - 阻止不需要的访客的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

会话劫持可以通过以下步骤实现:1.获取会话ID,2.使用会话ID,3.保持会话活跃。在PHP中防范会话劫持的方法包括:1.使用session_regenerate_id()函数重新生成会话ID,2.通过数据库存储会话数据,3.确保所有会话数据通过HTTPS传输。

PHP8.1中的枚举功能通过定义命名常量增强了代码的清晰度和类型安全性。1)枚举可以是整数、字符串或对象,提高了代码可读性和类型安全性。2)枚举基于类,支持面向对象特性,如遍历和反射。3)枚举可用于比较和赋值,确保类型安全。4)枚举支持添加方法,实现复杂逻辑。5)严格类型检查和错误处理可避免常见错误。6)枚举减少魔法值,提升可维护性,但需注意性能优化。

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。
