簡體   English   中英

如何阻止訪問靜態站點?

[英]How to block access to a static site?

我將在雲托管服務提供商 Netlify 上托管一個靜態站點(實際上只有幾頁)。 這將是我的筆記,可能有敏感代碼和 API 密鑰。 我希望將其設置為只有我可以從 Internet 訪問此站點,而其他任何人都無法訪問。 如何阻止其他人訪問靜態站點?

或者,如果我對 Github Pages 做同樣的事情,是否可以限制那里的訪問?

這實際上是兩個問題,單獨提問是很好的做法。

  1. 這是一個常見問題,取決於您的服務器,例如,對於 Apache,您可以按照此說明編輯 .htaccess

  2. 您需要通過在存儲庫創建期間檢查私有存儲庫選項來創建私有存儲庫

您需要一種訪問控制機制來保護您的筆記。

  • 如果您正在運行 Web 服務器進行托管,則大多數 Web 服務器程序(Apache 和 nginx 是最流行的兩個)都有內置的訪問控制機制,請參閱 Carsten H 提供的鏈接或使用 Apache 進行訪問控制如何設置使用 Nginx 進行密碼認證(數字海洋指南)

  • 如果您使用 Github Pages,則可以進行訪問控制,但有點棘手。 您可以創建一個 Github OAuth 應用程序並要求人們使用您的 Github OAuth 應用程序進行身份驗證。 該應用程序將詢問他們的用戶名,並檢查該用戶名是否與允許的 Github 用戶列表匹配(可能只是您的 Github 用戶名)。 如果用戶名匹配,則提供靜態內容,否則用戶將被重定向到 403 禁止頁面。

另請參閱github-heroku-attack-rabbits項目頁面,了解有關如何創建上述 Flask 應用程序的詳細信息(使用flask-dance通過您的 Github OAuth 應用程序對用戶進行身份驗證)。 Flask 應用程序可以在 Heroku 上免費托管。

關於公共/私人回購還有兩點需要注意:

  • 如果您使用的是 Github Pages,則包含您的筆記的存儲庫需要是私有的,否則您的筆記內容將位於公共存儲庫中(即使 Github Pages 靜態頁面具有訪問控制層)。

  • 僅僅因為 repo 是私有的並不意味着它的 Github Pages 頁面是私有的。 默認情況下,私有倉庫的 Github Pages 頁面可供公眾訪問/閱讀。 您可以設置訪問控制機制來保護頁面。

你可以試試加密路由。 在這里,名稱 staticrypt 確實說明了一切(我在這里有一個演示)。 它允許您為網站的每個頁面創建密碼。 它使用了 AES-256 加密,所以就我而言,一個長密碼就足夠了。

如果您不共享密碼,您將是唯一一個查看網頁的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM