資產訪問限制方法 - 阻止不需要的訪客
鑰匙要點
- >對您的資產實施訪問控制對於安全至關重要。白名單是推薦的方法,看門人只允許受信任的實體訪問您的資產。可以將該網守放置在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傳輸。

RESTAPI設計原則包括資源定義、URI設計、HTTP方法使用、狀態碼使用、版本控制和HATEOAS。 1.資源應使用名詞表示並保持層次結構。 2.HTTP方法應符合其語義,如GET用於獲取資源。 3.狀態碼應正確使用,如404表示資源不存在。 4.版本控制可通過URI或頭部實現。 5.HATEOAS通過響應中的鏈接引導客戶端操作。

匿名類在PHP中的主要作用是創建一次性使用的對象。 1.匿名類允許在代碼中直接定義沒有名字的類,適用於臨時需求。 2.它們可以繼承類或實現接口,增加靈活性。 3.使用時需注意性能和代碼可讀性,避免重複定義相同的匿名類。

在PHP中,異常處理通過try,catch,finally,和throw關鍵字實現。 1)try塊包圍可能拋出異常的代碼;2)catch塊處理異常;3)finally塊確保代碼始終執行;4)throw用於手動拋出異常。這些機制幫助提升代碼的健壯性和可維護性。

PHP中有四種主要錯誤類型:1.Notice:最輕微,不會中斷程序,如訪問未定義變量;2.Warning:比Notice嚴重,不會終止程序,如包含不存在文件;3.FatalError:最嚴重,會終止程序,如調用不存在函數;4.ParseError:語法錯誤,會阻止程序執行,如忘記添加結束標籤。

在PHP中,include,require,include_once,require_once的區別在於:1)include產生警告並繼續執行,2)require產生致命錯誤並停止執行,3)include_once和require_once防止重複包含。這些函數的選擇取決於文件的重要性和是否需要防止重複包含,合理使用可以提高代碼的可讀性和可維護性。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
