В этом репозитории показан статический сайт, размещенный на страницах Cloudflare и чей контент «защищен» общим именем пользователя и паролем с базовой аутентификацией доступа HTTP. Настоящая магия заключается в functions/_middleware.ts
, которые основаны на примере Cloudflare Workers для базовой аутентификации HTTP и перепрофилированы в качестве промежуточного программного обеспечения для использования с функцией «Функции» Cloudflare Pages.
Этот демонстрационный сайт размещен по адресу https://cloudflare-pages-shared-password.pages.dev/, где в качестве имени пользователя и пароля используется admin
.
Статический сайт в этом репозитории создан с использованием Hugo, но промежуточное программное обеспечение можно использовать с любым статическим сайтом, размещенным на страницах Cloudflare.
Я не даю никаких гарантий относительно безопасности этого кода. В частности, не следует ожидать, что общий пароль, хранящийся в репозитории, обеспечит значимую степень безопасности.
Особая благодарность CherryJimbo и Isaac McFadyen за ответы на мои вопросы об экземпляре Cloudflare Discord. Их предложения сыграли важную роль в том, чтобы первая версия этого кода заработала.