지리적 차단 플러그인

추측컨대… 그중 98%가 봇일 겁니다. :winking_face_with_tongue: 메시지를 표시할지 말지… 그것은 상황에 따라 달라집니다. 지리적 IP로 차단된 실제 사용자가 VPN을 사용하도록 안내할 필요가 있다면, 그 이유를 보여주는 것이 현명한 선택입니다. 하지만 봇에게는 시간 낭비일 뿐이죠.

1개의 좋아요

이 플러그인은 원래 특정 국가에 대한 경제 제재를 시행하기 위해 만들어졌습니다.

2개의 좋아요

이제 500 오류가 발생합니다. 재구축 과정은 잘 진행되긴 합니다.

수정 가능한가요?

그렇지 않으면 Nginx를 리버스 프록시로 설치해야 하는데, 그러면 여기서 더 이상 지원 요청을 하기 두려울 것 같습니다 :joy:

수정 완료

@juanjosegzl LLM이 너무 열정적이었던 것 같고, 우리 둘 다 PR을 충분히 테스트하지 못했던 것 같습니다.

1개의 좋아요

죄송합니다. 제 사용 사례에만 집중하고 있어서 그 말씀을 놓쳤습니다.

1개의 좋아요

죄송합니다, 아직 문제가 있습니다.

최근 플러그인에 대한 PR을 되돌렸고, 시간이 나면 몇 주 후에 다시 검토할 예정입니다. 불편을 드려 죄송합니다.

2개의 좋아요

그런 일이 있긴 하죠. 하지만 그 플러그인은 정말 필요합니다. 수고 많으셨습니다.

1개의 좋아요

많은 문제를 일으켜서 죄송합니다. 변경 사항을 다시 확인해 보니 모더레이션 관련 문제가 발견되었고, 이제 수정했습니다.

Richard에게 변경 사항을 푸시했습니다. 기본적으로 모더레이션 문제를 수정하고, 모더레이션 설정이 변경될 때 캐시를 비활성화하도록 했습니다.

2개의 좋아요

감사합니다!
현재 여행 중이며, 10일 후에 PR을 다시 검토하겠습니다.

저한테는 잘 동작합니다. 지오블로킹 자체는 아직 테스트하지 않았습니다.

음, 제 익명 사용자가 타이핑을 너무 빨리 해서요. 가상 키보드를 사용하는 아이패드를 쓰고 있어서 좀 웃기긴 합니다 :joy: 하지만 이 플러그인과는 전혀 관련이 없습니다.

감사합니다.

2개의 좋아요

@juanjosegzl 최신 PR을 이제 병합했습니다. 유용한 기여를 해주셔서 감사합니다!

1개의 좋아요

Cloudflare를 사용 중일 때에도 이 기능이 작동하나요?

Cloudflare는 CF-IPCountry 헤더 변수를 통해 IP 주소를 전송합니다.

예, 가이드를 따르시면 정상적으로 작동합니다.

이것은 잘못된 정보입니다. Cloudflare는 해당 헤더에 IP 주소가 아닌 국가 코드를 전송하며, 이는 활성화한 경우에만 해당됩니다. 또한 이 플러그인은 해당 헤더를 사용하지 않고, 대신 Discourse의 내부 Maxmind 데이터베이스를 사용합니다.

안녕하세요, 플러그인이 정말 좋습니다. 작은 요청이 하나 있습니다. 설정 항목을 추가해서 알림 메시지를 사용자 지정할 수 있을까요?

아, 알겠습니다. /admin/customize/site_texts 사이트 텍스트 기능을 사용하면 별도의 설정이 필요 없네요.

1개의 좋아요

안녕하세요, 제한된 지역의 특정 IP가 접근할 수 있도록 허용하려면 어떻게 설정해야 하는지 궁금합니다.

요청 병합을 생성했습니다:
add ip whitelist by singi2016cn · Pull Request #11 · communiteq/discourse-geo-blocking

1개의 좋아요

PR 올려주셔서 감사합니다. 해당 PR에 대해 답변을 남겼습니다. 기능 개선은 매우 환영하지만, 모든 요청마다 추가적인 데이터베이스 호출이 발생하는 것은 받아들일 수 없습니다. 해당 코드를 지연 로딩 캐시 블록 안쪽으로 이동해 주시면 승인하겠습니다.

2개의 좋아요

네, 문제를 파악했습니다. 수정 후 다시 머지 요청을 보내겠습니다. 한 번 더 확인해 주시겠습니까?

1개의 좋아요

안녕하세요, 새로운 요구사항이 생겼습니다.
현재 특정 국가 몇 곳만 접근을 허용하고, 대부분의 국가에는 접근을 제공하지 않으려고 합니다. 그렇다면 geo_blocking_country_region_allowlist와 유사한 설정을 추가해야 하는지 궁금합니다. 이 설정이 존재하면 사용자가 해당 범위에 속하는지 판단하여, 속해 있으면 통과시키고 그렇지 않으면 차단하는 방식입니다.
geo_blocking_country_region_blocklist와 geo_blocking_country_region_allowlist가 동시에 설정된 경우에도 geo_blocking_country_region_allowlist만 판단하고, 그렇지 않을 경우 geo_blocking_country_region_blocklist를 판단합니다.

현재 기능과 하위 호환성을 유지하기 위해 다음을 수행하면 PR을 환영합니다:

“허용 목록을 제외한 모든 것 차단”이라는 추가 설정을 추가하고, 해당 설정이 활성화된 경우에만 설명하신 대로 동작하도록 합니다.