테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 로그인차단 플러그인(2021-03-24 업데이트)

· 4년 전 · 7113 · 34
로그인차단관리.png

 

같은 아이피에서 5회이상 로그인을 실패하면 접속을 차단하는 플러그인입니다.

 

관리자 계정으로 접속한 관리자 페이지에서 차단리스트 조회와 차단 해제가 가능합니다.

 

 

 

 

* g5_login_manage 테이블이 생성되지않으면 관리자 페이지의 DB업그레이드를 이용하시면 정상적으로 테이블 생성이 됩니다.

3717582117_1615878929.8208.png

 

----------------------------------------------2021-03-22 업데이트 내역-----------------------------------------

 

3717582117_1616396007.316.png

로그인 차단 관리 페이지가 추가 되었습니다.

해당 페이지는 관리자 계정으로 접속하여 관리 -> 회원관리에서 접근 할 수 있으며

영구 차단은 설정한 접근 차단 횟수이상 로그인을 실패하면 해당 ip의 접근을 로그인 차단 리스트에서 관리자가 해제를 해주기 전까지는 무제한으로 차단이 되는 설정입니다.

일시 차단은 차단된 ip의 사용자가 설정한 차단 시간(분 단위)이 지나면 자동으로 차단이 해제되는 설정입니다.

기존의 5회 영구 차단에서 관리자가 임의로 설정한 값에 따라 로그인 차단 플러그인이을 활용 할 수 있게끔 수정하였습니다.

 

또 기존의 로그인 성공 시에도 리스트가 남아있는 현상을 수정하여 로그인에 성공하면 해당 IP의 차단리스트 초기화 하게끔 수정하였습니다.

 

그 외로 로그인 차단이 되었을경우 일시 차단의 경우 차단 일시와 차단횟수, 영구차단일 경우 차단횟수가 표시 되는 안내문을 추가하였습니다.

 

해당 기능에 개선점이나 추가적으로 필요한 점을 덧글로 피드백해주시면 감사하겠습니다.

 

 

 

----------------------------------------------2021-03-24 업데이트 내역-----------------------------------------

3717582117_1616574072.4159.png

 - 자동입력방지차단 방식이 추가되었습니다.

3717582117_1616573466.6359.png

기존에 설정한 차단 횟수만큼 로그인에 실패할 경우 해당 계정에 대한 접근은 자동입력방지숫자를 입력해야만 접근이 가능한 기능이 추가되었습니다.

 

 - 차단 조건을 변경하였습니다.

 기존 ) ip를 기준으로 차단

 변경 ) ip와 계정명을 기준으로 차단 해당 계정에 대한 ip차단으로 변경되어 해당 ip에서 첫번째 계정으로 차단이 되어도 다른계정으로 접근이 가능하게끔 수정

 - 차단 조건 변경으로 인해 이제 차단 리스트에서 계정명도 확인이 가능합니다.

 - 그누보드 멤버(회원 관리)테이블에 존재 하지않는 계정은 차단리스트에 등록되지 않게끔 수정하였습니다.

 - 차단 리스트 출력 조건이 설정한 차단횟수가 아닌 5회로 고정되어있던 오류를 수정하였습니다.

 

 

* p.s ) 기존에 미리 플러그인을 사용해 보셨던 사용자들은 업데이트된 플러그인을 사용하시려면 기존에 생성된 ???_login_manage 테이블을 제거하고 DB업그레이드 메뉴를 이용하여 DB를 업그레이드 하여 사용해주세요.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 34개

그누보드5 디렉토리에 들어가시면 extend와 plugin디렉토리가 존재하는데 해당 압축 폴더안에있는 extend디렉토리 파일들은 extend 디렉토리에 붙여넣으시고 plugin디렉토리 파일들은 plugin디렉토리에 똑같이 붙여 넣으시면 됩니다.
5431버전 사용자입니다.

차단해제버튼 누르면 / 해제가 안됩니다.

Fatal error: Uncaught Error: Call to undefined function auth_check_menu() in
/plugin/login_ban/login_ban_manage_delete.php:8 Stack trace: #0 {main}
thrown in /plugin/login_ban/login_ban_manage_delete.php on line 8
혹시 설치하신 그누보드에 adm 디렉토리안에 admin.lib.php 파일이 없으신가요? 있으시다면 G5_ADMIN_PATH 경로 상수를 수정 하셨는지 확인 부탁드립니다.
5431 깨끗한버전이구요
adm 디렉토리안에 admin.lib.php 파일 있어요
G5_ADMIN_PATH 경로 안바꿧는데요

로그인 차단 관리

Fatal error: Uncaught Error: Call to undefined function auth_check_menu() in /usr/gnuboard/plugin/login_ban/skin/adm.config.php:4 Stack trace: #0 /usr/gnuboard/extend/login_ban_manage.php(211): include_once() #1 /usr/gnuboard/lib/Hook/hook.extends.class.php(23): add_login_ban_config(Array, NULL) #2 /usr/gnuboard/lib/Hook/hook.class.php(188): GML_Hook->runAction(Array, Array) #3 /usr/gnuboard/lib/hook.lib.php(64): Hook::doAction('admin_get_page_...', Array, false) #4 /usr/gnuboard/adm/view.php(25): run_event('admin_get_page_...', Array, NULL) #5 {main} thrown in /usr/gnuboard/plugin/login_ban/skin/adm.config.php on line 4
그누보드 5.4.4 버전 이상에서부터 정상적으로 사용이 가능한 플러그인입니다.

그누보드를 업그레이드 하시지 않고 기존 버전에서 이용하시려면

admin.lib.php 파일에

function auth_check_menu($auth, $sub_menu, $attr, $return=false) {

$check_auth = isset($auth[$sub_menu]) ? $auth[$sub_menu] : '';
return auth_check($check_auth, $attr, $return);

}
함수를 추가 하셔야 할것 같습니다.

하지만 그누보드를 업데이트하시고 사용하시는걸 추천드립니다.
4년 전
업데이트 전에는 나리야 에서 잘되었는데
이번 업데이트 된거는

login_ban_manage.php

위 파일 올리면 사이트 접속불가 나옵니다.
기존 컬럼명이 변경되어서 ???_login_manage 테이블을 삭제하시고 DB업그레이드를 해보실수 있을까요?
4년 전
당연히 해드려야죠~ ㅎㅎ
-----------------------------
해당 DB테이블 삭제 후 재업로드 하니 접속 잘 됩니다.

- 영구차단
- 영구차단 아이피 리스트 해제
- 일시차단 (5분 후 자동해제)
- 성공시 DB에 남은 차단된 아이피 흔적 삭제

모두 잘 됩니다. 잘 사용하겠습니다.
올려주신 플러그인 사용하려고 다운받아서 extend/plugin 폴더에 넣고 실행을 하니 DB에 테이블은 잘 생성됬는데 관리자 메뉴에 페이지가 추가되지 않고
debug 돌렸을 때 The script '~~~' is outside the project라고 뜨면서 관리자메뉴에 페이지 추가하는 부분이 오류를 냅니다 어떻게 해결을 해야할지 몰라서 댓글남겨 봅니다 ㅠ
그누보드 버전은 테스트하신 버전과 동일한 버전을 사용했습니다.
4년 전
한가지 건의 를 드린다면 차단아이피에 시도한 아이디도 나오는게 좋을 듯 싶습니다.
같은 아이피에서 지정한 횟수 내에서 정상 로그인하면 차단아이피 기록이 자동삭제되지만
차단된 후 다른 곳에서 정상로그인 시에 처음 차단된 기존 아이피는 차단된 상태 그대로 입니다.
경우에 따라 정상 사용자가 차단된 아이피 삭제를 요청할 수도 있으니
차단된 아이디도 나오는게 낫지 않을 까 싶습니다.
(차단된 후 다른 곳에서 정상적으로 로그인한 사용자에 한하여 입니다.)