"미디어위키 ConfirmEdit 설치"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;ConfirmEdit
;ConfirmEdit
;미디어위키 CAPTCHA 기능
;미디어위키 CAPTCHA 기능
;미디어위키 스팸방지 ConfirmEdit
;미디어위키 스팸방지 ConfirmEdit


==개요==
스팸봇 방지에는 특히 ConfirmEdit가 중요하다. 이것을 적용하면 계정 생성시 CAPTCHA 제한이 걸리기 때문에 계정 생성 자체를 봇으로 할 수 없게 된다. 일단 계정이 많아지면, 부정사용 계정을 마구 차단한다고 해도 관리에 한계가 있기 때문이다.
스팸봇 방지에는 특히 ConfirmEdit가 중요하다. 이것을 적용하면 계정 생성시 CAPTCHA 제한이 걸리기 때문에 계정 생성 자체를 봇으로 할 수 없게 된다. 일단 계정이 많아지면, 부정사용 계정을 마구 차단한다고 해도 관리에 한계가 있기 때문이다.


13번째 줄: 13번째 줄:
*압축을 풀고 ConfirmEdit 폴더를 웹서버의 extensions 폴더에 업로드한다.
*압축을 풀고 ConfirmEdit 폴더를 웹서버의 extensions 폴더에 업로드한다.
*[[LocalSettings.php]]의 맨 아래에 아래 내용을 추가한다.
*[[LocalSettings.php]]의 맨 아래에 아래 내용을 추가한다.
<source lang='php'>
<syntaxhighlight lang='php'>
require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" );
require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" );
$wgGroupPermissions['user']['skipcaptcha'] = true;
$wgGroupPermissions['user']['skipcaptcha'] = true;
$wgGroupPermissions['bot']['skipcaptcha'] = true;
$wgGroupPermissions['bot']['skipcaptcha'] = true;
$wgGroupPermissions['sysop']['skipcaptcha'] = true;
$wgGroupPermissions['sysop']['skipcaptcha'] = true;
</source>
</syntaxhighlight>
*여기까지 하면 기본적인 CAPTCHA 기능이 적용된다.
*여기까지 하면 기본적인 CAPTCHA 기능이 적용된다.
:회원가입시 또는 비로그인사용자(IP사용자) 편집시에 간단한 산수문제를 물어본다
:회원가입시 또는 비로그인사용자(IP사용자) 편집시에 간단한 산수문제를 물어본다
24번째 줄: 24번째 줄:
==검증방식==
==검증방식==
검증방식은 6가지가 있으며, 기본값은 SimpleCaptcha이다.<ref>http://www.mediawiki.org/wiki/Extension:ConfirmEdit</ref>
검증방식은 6가지가 있으며, 기본값은 SimpleCaptcha이다.<ref>http://www.mediawiki.org/wiki/Extension:ConfirmEdit</ref>
* SimpleCaptcha(기본값): 간단한 산수문제(텍스트 출력)
 
* FancyCaptcha: 일그러진 문자열 받아쓰기  
{| class='wikitable'
* MathCaptcha: 산수 문제(SimpleCaptcha와는 달리 이미지 출력이다)
! 검증방식 !! 설명
* QuestyCaptcha: 관리자가 낸 문제
|-
* <del>Asirra: 고양이 사진 모두 고르기(외부 연동)</del><ref>Asirra 서비스 종료로 사라짐</ref>
| SimpleCaptcha(기본값) || 간단한 산수문제(텍스트 출력)
* ReCaptcha: 일그러진 두단어 받아쓰기(외부 연동, 계정 필요)
|-
* Are You A Human: 자바스크립트기반 이미지 드래그 퍼즐<ref>떠다니는 물건들 중에서 오른쪽 대상에 어울리는 것을 골라 드래그</ref>
| FancyCaptcha || 일그러진 문자열 받아쓰기  
|-
| MathCaptcha || 산수 문제(SimpleCaptcha와는 달리 이미지 출력이다)
|-
| QuestyCaptcha || 관리자가 낸 문제
|-
| ReCaptcha || 일그러진 두단어 받아쓰기(외부 연동, 계정 필요)
|-
| Are You A Human || 자바스크립트기반 이미지 드래그 퍼즐<ref>떠다니는 물건들 중에서 오른쪽 대상에 어울리는 것을 골라 드래그</ref>
|-
| <del>Asirra</del> || <del>고양이 사진 모두 고르기(외부 연동)</del><ref>Asirra 서비스 종료로 사라짐</ref>
|}


==SimpleCaptcha의 문제점==
==SimpleCaptcha의 문제점==
37번째 줄: 48번째 줄:


==같이 보기==
==같이 보기==
*[[미디어위키 스팸 방지]]
* [[미디어위키 스팸 방지]]
*[[미디어위키 일반사용자 캡차 안뜨게 하기]]
* [[미디어위키 일반사용자 캡차 안뜨게 하기]]
* [[미디어위키 ConfirmEdit/QuestyCaptcha 예시]]
* [[미디어위키 ConfirmEdit/ReCaptchaNoCaptcha 예시]]


==주석==
==주석==

2020년 11월 2일 (월) 02:59 기준 최신판

1 개요[ | ]

ConfirmEdit
미디어위키 CAPTCHA 기능
미디어위키 스팸방지 ConfirmEdit

스팸봇 방지에는 특히 ConfirmEdit가 중요하다. 이것을 적용하면 계정 생성시 CAPTCHA 제한이 걸리기 때문에 계정 생성 자체를 봇으로 할 수 없게 된다. 일단 계정이 많아지면, 부정사용 계정을 마구 차단한다고 해도 관리에 한계가 있기 때문이다.

2 다운로드[ | ]

3 설치[ | ]

  • 압축을 풀고 ConfirmEdit 폴더를 웹서버의 extensions 폴더에 업로드한다.
  • LocalSettings.php의 맨 아래에 아래 내용을 추가한다.
require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" );
$wgGroupPermissions['user']['skipcaptcha'] = true;
$wgGroupPermissions['bot']['skipcaptcha'] = true;
$wgGroupPermissions['sysop']['skipcaptcha'] = true;
  • 여기까지 하면 기본적인 CAPTCHA 기능이 적용된다.
회원가입시 또는 비로그인사용자(IP사용자) 편집시에 간단한 산수문제를 물어본다

4 검증방식[ | ]

검증방식은 6가지가 있으며, 기본값은 SimpleCaptcha이다.[1]

검증방식 설명
SimpleCaptcha(기본값) 간단한 산수문제(텍스트 출력)
FancyCaptcha 일그러진 문자열 받아쓰기
MathCaptcha 산수 문제(SimpleCaptcha와는 달리 이미지 출력이다)
QuestyCaptcha 관리자가 낸 문제
ReCaptcha 일그러진 두단어 받아쓰기(외부 연동, 계정 필요)
Are You A Human 자바스크립트기반 이미지 드래그 퍼즐[2]
Asirra 고양이 사진 모두 고르기(외부 연동)[3]

5 SimpleCaptcha의 문제점[ | ]

SimpleCaptcha를 설정하더라도 봇이 꽤 활동한다. 봇 자체에 SimpleCaptcha를 뚫을 수 있는 기능이 들어있는 것 같다. (랜덤 계정을 생성한 후 곧바로 문서를 등록한 기록이 보인다.) 물론 사람이 답만 입력하도록 하는 것일 수도 있는데 이 경우도 단시간 많은 계정을 생성할 수 있으므로 취약하다. 따라서 SimpleCaptcha 이외의 다른 검증방식을 권장한다.

6 같이 보기[ | ]

7 주석[ | ]

  1. http://www.mediawiki.org/wiki/Extension:ConfirmEdit
  2. 떠다니는 물건들 중에서 오른쪽 대상에 어울리는 것을 골라 드래그
  3. Asirra 서비스 종료로 사라짐
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}