글
XE, DB를 통한 국가별 IP 차단
준비물 1 국가별 IP 대역 정보 CSV
https://dev.maxmind.com/geoip/legacy/geolite/
준비물 2 XE 국가별 접속 제한 애드온 by prologos
https://www.xpressengine.com/?mid=download&package_id=22752234
준비물 1은 간간히 갱신되므로 심심할때마다 새로 받아서 DB에 반영해주면 좋다.
파일 수정이 필요한지 아닌진 기억이 안 나지만 난 아무튼 약간 수정해서 사용한당.
선택한 컬럼 3개 삭제- 그리고 저장
왠지 IP를 삭제하는 것 같지만 실제로 사용할 대역 정보는 옆에 int 값으로 똑같이 있다.
이제 준비물 2 애드온을 까보면 geoip라는 테이블에서 minip 컬럼, maxip 컬럼을 이용해 뭔가를 찾는 것을 확인할 수 있다.
phpmyadmin이든 뭐든 db로 접속해서 xe 데이터베이스에 "xe_geoip" 테이블을 추가하고 (xe 자체 쿼리 기능을 쓰는 것 같은데 geoip라고 하면 안 될 것 같다.)
컬럼 3개를 만든다. minip, maxip, country_code(마지막건 아무 이름이나 상관 없을라나... 몰러 그냥 이대로 쓰자)
앞에 두 놈은 bigint(20) 뒤에 놈은 char(2). null 없음으로.. 적당히 적당히
그리고 xe_geoip 테이블에서 csv 파일을 가져오기한다.
내용이 많아서 시간 약간 걸림.
뭔가 안되면 구분자가 , 로 되어있는지 확인
그리고 XE에 애드온을 설치해서 적당히 설정해서 잘 쓴다. 끝.
IP 조회 방법 DB로 설정하는 걸 잊지 않긔
IIS geoblock module 쓰고 싶었지만 안 된다.
그냥 겁나 안 된다. 몇 번이고 다시 시도해봐도 안된다.
그래서 XE 애드온을 쓴다!
'서버' 카테고리의 다른 글
버추얼박스 startup with exit code 1 (0x1) 오류 (cryptographic services) (4) | 2021.01.06 |
---|---|
두 번째 2683v3을 추가하자! (2) | 2018.08.10 |
서버를 2683v3로 업그레이드 하자! (4) | 2016.10.20 |
shorte.st 씨레기 (287) | 2015.10.02 |
XE 댓글 신고 수가 일정 이상되면 내용 숨기기 (8) | 2015.10.01 |