Caputchin
프록시 페이지 게이트

리버스 프록시에서 사이트 전체에 게이트를 겁니다

Markdown으로 보기

Caputchin을 쓰는 보통 방식은 페이지에 위젯을 삽입하고 토큰을 백엔드에서 검증하는 것입니다. 그러려면 위젯을 둘 자리와 토큰을 확인할 백엔드가 필요합니다. 프록시 페이지 게이트는 둘 다 필요 없습니다. 그것은 리버스 프록시에서, 사이트나 라우트 전체 앞에 전면 검증을 놓습니다. 방문자가 검증 하나를 마치고, 짧은 수명의 패스를 얻고, 패스가 만료될 때까지 사이트를 돌아다닙니다. 검증은 짧은 게임이거나 한 번 누르는 확인이며, 고르는 대로입니다. 보호되는 앱은 결코 건드려지지 않습니다.

앱 자체에는 아무것도 더해지지 않으므로, 이것은 스크립트를 삽입할 수 없는 호스트를 보호하는 방법입니다. 컴파일된 단일 페이지 로그인 포털, 어플라이언스, 또는 인증 프록시 뒤에 앉은 내부 도구 같은 것입니다.

누구를 위한 것인가

인라인 위젯이 맞지 않을 때 게이트로 손을 뻗으세요:

  • 앱에 위젯을 둘 자리가 없음. 봉인된 로그인 포털(Authelia 같은), 벤더 어플라이언스, 또는 편집할 수 없는 어떤 UI든.
  • 폼 하나가 아니라 표면 전체에 게이트를 걸고 싶음. 단일 제출에서의 확인이 아니라 "이 사이트에 닿기 전에 사람임을 증명하라".
  • 토큰을 검증할 백엔드가 없음. 강제하는 건 프록시이고, 쓸 /siteverify 호출이 없습니다.

통제하는 보통 페이지나 폼이라면, 대신 위젯을 삽입하세요. 그게 더 가볍고 방문자를 리디렉션하지 않습니다. 폼은 있지만 백엔드가 없다면, 호스팅 인증이 더 잘 맞습니다.

동작 방식

한 번의 풀이가 많은 요청을 삽니다. 방문자는 검증을 한 번 마치고, 그다음에는 퍼스트파티 쿠키가 만료될 때까지 그의 요청을 통과시킵니다.

프록시는 모든 요청에서 Caputchin에 작은 인가자 호출을 합니다. 요청이 유효한 패스를 지니지 않으면, Caputchin은 401을 답하고 프록시는 방문자를 호스팅 챌린지로 리디렉션합니다. 패스가 있고 유효하면, Caputchin은 204를 답하고 프록시는 요청을 앱으로 통과시킵니다.

통과 쿠키

패스는 퍼스트파티 쿠키 안에 살며, 이름은 기본값이 cpt_gate이고 사이트 키별로 바꿀 수 있고, 그것은 호스팅하는 작은 콜백이 당신 자신의 도메인에 설정합니다(기본값은 /__cpt/callback이며 이것도 옮길 수 있습니다). 서명된 짧은 수명의 토큰이고, 기기에 묶이지 않으므로, 그 안전성은 전적으로 쿠키 속성(HttpOnly, Secure, SameSite=Lax)과 고르는 짧은 TTL에서 옵니다. 그것이 방문자에게 쿠키를 설정하니, 쿠키 정책에 그것을 고지하세요. 설정 가이드가 콜백과 필요한 속성을 처음부터 끝까지 짚습니다.

일부러 빠뜨린 것

  • 자체 호스팅 게이트 없음. Caputchin이 챌린지를 호스팅하고 패스를 검증합니다. 당신은 검증기를 돌리지 않습니다. 프록시는 쿠키 하나를 전달하고 리디렉션을 따를 뿐입니다.
  • 요청별 확인이지, 로컬 토큰 검증이 아님. 프록시는 모든 요청에서 Caputchin에 묻습니다. 고르는 실패 모드(열림 또는 닫힘)가 Caputchin이 잠깐 닿을 수 없을 때 무슨 일이 일어날지 결정합니다.
  • 사이트 키별, 쿠키 범위의 통과. 한 패스는 하나의 오리진을 통과시키지, 계정 전체나 여러 도메인은 아닙니다. 그것은 평범한 퍼스트파티 쿠키이기 때문입니다.
  • 맞춤 문구 없음. 고르는 것은 검증 페이지의 언어와 테마이지, 그 문구가 아닙니다.
  • 세션도 로그인도 아님. 게이트는 사람이 사이트에 닿았음을 증명합니다. 앱은 여전히 인증과 자체 속도 제한을 처리합니다. 둘은 겹칩니다.

방문자가 보는 것

검증 페이지는 방문자 자신의 언어로 말하고 밝음이나 어두움 선호를 따르며, 이 사이트 키의 위젯과 같은 브랜드를 두릅니다. 둘 다 이미 구성해 둔 같은 사이트 키에서 풀어내기 때문입니다. 대신 언어나 테마를 고정할 수도, 게임과 한 번 누르는 체크박스 중에서 고를 수도 있으며, 그것은 사이트 키의 프록시 게이트 페이지에서 합니다. 챌린지 맞춤 설정하기를 보세요.

함께 보기

이 페이지에서