워드프레스 Contact Form 7에서 스팸을 방지하는 방법

Contact Form 7은 500만 개 이상의 사이트에 설치되어 사용되고 있는 인기 컨택트 폼 플러그인입니다. 이 무료 플러그인을 사용하여 방문자나 고객으로부터 문의나 견적 요청을 받을 수 있습니다. Contact Form 7은 직관적이지 않지만 HTML과 CSS를 조금 알면 유연하게 사용이 가능합니다. 드래그 앤 드롭 방식으로 쉽게 컨택트 폼을 만들고 싶은 경우 WPForms 같은 플러그인을 고려해볼 수 있습니다.

문의 폼을 통해 스팸이 많이 들어오는 경우 다음과 같은 방법이 스팸을 방지하는 데 도움이 될 것입니다.

Akismet 플러그인

Akismet은 잘 알려진 스팸 방지 플러그인입니다. Akismet을 사용하면 워드프레스에서 댓글과 컨택트 폼을 통해 제출되는 스팸을 방지할 수 있습니다.

이 플러그인을 사용하면 70% 정도의 스팸이 걸러진다고 합니다. 아래의 다른 방법과 함께 사용하면 스팸을 효과적으로 방지할 수 있을 것입니다.

퀴즈(Quiz) 필드

퀴즈 필드를 추가하여 스팸을 예방할 수 있습니다. 예를 들어, '미국의 수도는?'과 같은 퀴즈를 추가하면 사람만이 퀴즈에 대한 답변을 할 수 있으므로 스팸 예방에 도움이 됩니다.

Contact Form 7 퀴즈 필드

위의 그림과 같이 '퀴즈' 버튼을 클릭하고 '대한민국의 수도는?|서울'과 같은 형식으로 질문과 답변을 입력하여 필드를 추가할 수 있습니다. 직접 쇼트코드를 추가하려는 경우 다음과 같은 형식으로 입력합니다.

[quiz quiz-377 "대한민국의 수도는?|서울"]

질문에 대한 답변을 제대로 입력하지 않으면 '퀴즈 답변이 올바르지 않습니다'라는 오류 메시지가 표시되면서 문의가 제출되지 않습니다.

최소 문자수 설정

컨택트 폼을 통해 들어오는 스팸에 내용이 매우 짧은 경우 내용 필드에 입력해야 하는 최소 문자 수를 설정하는 것을 고려해볼 수 있습니다. 최소, 최대 문자수 설정 방법은 Contact Form 7 문서에서 확인해볼 수 있습니다. 다음과 같은 형식으로 최소 문자수와 최대 문자수를 지정할 수 있습니다.

[textarea* your-message minlength:30 maxlength:500]

위와 같이 설정하면 30문자 미만의 내용을 입력하여 제출할 경우 '내용이 너무 짧습니다.' 오류 메시지가 표시됩니다.

Contact Form 7 Honeypot 플러그인

Contact Form 7 스팸 방지 플러그인 - Contact Form 7 Honeypot

이 플러그인을 사용하면 보안문자 입력 필드(Captcha)를 이용하지 않고도 컨택트 폼을 통해 유입되는 스팸을 효과적으로 차단할 수 있습니다.

Contact Form 7 Honeypot의 원리는 간단합니다. 봇은 바보 같아서 필드를 입력해야 하는지 혹은 입력해서는 안 되는지를 고려하지 않고 필드를 맹목적으로 기입합니다. 이 플러그인은 입력하면 유효성 검사에 실패하도록 하는 숨김 필드를 추가합니다.

이 플러그인을 설치하고 활성화한 후에 Generate Tag 옵션을 사용하여 honeypot 쇼트코드를 생성해서 컨택트 폼에 추가하도록 합니다.

보안문자(Captcha) 추가하기

Contact Form 7에는 reCAPTCHA를 통합할 수 있는 기능이 제공됩니다. reCAPTCHA는 구글 서비스이기 때문에 무료로 이용이 가능합니다. 자세한 내용은 다음 글을 참고해보세요.

마치며

Contact Form 7에서 스팸을 방지할 수 있는 여러 가지 방법을 살펴보았습니다. 컨택트 폼을 통해 스팸이 많이 유입되는 경우 이용하면 스팸을 줄이는 데 도움이 될 것입니다.

저는 유료 플러그인인 Quform을 사용하고 있는데, 별다른 조치를 취하지 않아도 스팸은 거의 들어오지 않네요. 만약 스팸이 증가하면 Quform에서 자체적으로 제공하는 심플한 Captcha 필드를 추가하거나, 구글에서 제공하는 reCAPTCHA를 이용할 수 있습니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

2개 댓글

  1. 오호.. 이런 것도 있었군요..
    내심 contact form7 을 사용하고 있는데 스팸이 들어오면 어떻게 하나 걱정을 했는데 저녁에 가서 설정해야 되겠습니다

댓글 남기기

* 이메일 정보는 공개되지 않습니다.