화면 캡처 2021-05-07 221935.png

 

 

기존 애드온 방식처럼 적용대상 모듈이 따로 존재하지 않아서 위 체크한 곳 통으로 적용이 되는 듯 한데요.

 

위 체크박스 없는 대상은 적용이 무조건 되는 건가요?

- 회원가입 스킨을 참조해서 필요한 {$captcha} 를 적당한 위치에 삽입한다고 가정합니다.

 

예를 들면 위젯 페이지에 form 태그가 있고 {$captcha} 가 발견된다면 무조건 작동하는 건가요? 

위 체크박스는 체크가 있을때 그리고 {$captcha} 가 있을때 조건이 하나 더 추가 되는 것이고.....

  • Lv36

    대상 모듈 선택은 애드온에서나 하는 거죠.

    어느 모듈에서 회원가입을 하더라도 캡챠 적용 여부가 달라져야 할 이유도 없고요.

     

    목록에 없는 화면에 {$captcha} 코드를 넣는다고 해서 무조건 적용되지는 않습니다.

    해당 코드는 그냥 RXE 템플릿 변수거든요. $captcha라는 변수가 있을 경우 그 자리에 뿌려주는 겁니다.

    그런데 이 변수에 항상 캡챠 관련 코드가 들어가 있는 것이 아니고,

    위에서 선택한 화면인 경우에만 캡챠 코드를 생성해서 $captcha라는 변수에 담아줍니다.

    캡챠가 불필요한 화면에서 캡챠 코드를 생성하면 자원 낭비이니까요.

     

    우연히 $captcha 변수가 존재하는 화면에서 {$captcha} 코드를 쓰면 캡챠가 뜰 수도 있겠지만,

    실제로 거기서 폼을 제출했을 때 캡챠 통과 여부를 확인하지는 않을 것입니다.

    • 적용 대상 체크한 기능: 캡챠 적용
    • 적용 대상 체크하지 않은 기능: 캡챠 적용 안 함
    • 적용 대상 체크박스가 없는 기능: 모듈에서 아예 신경을 안 씀

     

    그런데 생각해 보니 이게 더이상 애드온이 아니고 코어 기본 모듈에 정식으로 포함된 기능이니

    어디서든지 쉽게 캡챠를 끌어다 쓰고 확인할 수 있도록 함수를 제공하면 편리하겠군요.^^

  • Lv36 Lv30
    아.. 그럼 단순히 {$captcha} 를 넣는다고 되는게 아니었군요.
    그럼 위젯 페이지에서 사용하고 싶다면 현재 일반적인 사이트 운영자는 사용을 못하는 거네요. 현재는 애드온과 혼용해서 사용하지만 차후 모듈에만 의존한다면 위 체크박스 항목 외 다른 페이지에서 쉽게 사용이 되는 길이 열렸으면 좋겠네요.
  • Lv30 Lv36
    {$captcha} 코드를 다른 곳에서도 사용할 수 있도록 하는 것은 어렵지 않을 것 같지만, 캡챠라는 것은 반드시 폼 제출 후 서버단에서 결과를 검증해야 하기 때문에 페이지상에 코드를 넣는 것만으로는 의미가 없습니다. 검증하는 코드를 언제 어디서 호출하는지가 관건이죠...