Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

가입 제한 하고 싶은 사람이 있어서 그 번호를 제한 하고 싶은데 (번호 앎) 회원 설정에는 전화번호를 감지해서 제한하는 모듈이 없더라고요, 혹 member 모듈의 php 를 손봐줘야 하는걸까요?

 

인증 문자를 사용하는데 고의로 충전 포인트 소진되도록 악용하는 사람도 막고 싶네요,, 한 ip 대역 당 인증 횟수 제한도 있으려나요...

  • profile

    라이믹스 최신 버전에는

    문자 인증 횟수 제한
    동일한 IP에서 동일한 전화번호로 인증 시도하는 횟수를 제한합니다.

    위와 같은 설정이 있습니다.

    설명으로는 동일한 아이피에서 같은 전화번호로 시도할때만 제한하는 것 같습니다.

  • profile

    그리고 특정한 전화번호를 가입에 허용하지 않고자 한다면
    member 모듈의 php 를 손봐줘야 하는걸까요?
    --> 라이믹스 업데이트를 하지 않거나 업데이트 때 마다 매번 수정한 것을 계속 반영해주는 수고스러움을 감수하겠다는 것이겠죠?

    특정 전화번호를 가입허용하지 않으시려면
    별도의 애드온이나 모듈을 개발해서 적용하셔야 합니다.

    현재 코어에서 제한하는 것은 금지닉네임 정도가 있습니다.

    별도로 전화번호도 관리자가 등록한 번호들은 똑같은 방식으로 가입 진행을 막고 싶다면 애드온 등으로 관리자가 전화번호를 등록할 수 있도록 하고 회원가입(member inset) 시도 시 또는 휴대폰 인증 요청시 저장된 리스트에 있는 전화번호라면 가입을 막고 메시지를 띄워야 합니다.

  • profile profile
    하긴,,, member 폴더에 있는 php 파일도 코어 파일로 볼 수 있겠군요.
    따끔한 지적 감사합니다. 아래 라이믹스 개발자!! 분께서 제안해주신 방법대로 휴대전화 번호 등록 해놔서 가입 못하게 적용 했습니다! 감사합니다 ㅎㅎ

    문자인증횟수제한은 조금 더 연구해 봐야겠군요.
  • profile
    그냥 그 번호로 유령회원 하나 만들어 놓고 로그인 못 하게 거부 상태로 만드는 방법도 있습니다. 같은 번호로 중복가입은 안 되니까요.
  • profile profile
    ㅎㅎ 문자인증횟수제한은 따로 구현해야하는 부분이겠죠?
  • profile profile
    동일 번호로 반복 요청하는 것은 2.0.17에서 제한할 수 있습니다. 번호와 무관하게 IP를 제한하는 기능은 아직 없습니다. 코어 github에 이슈 등록해 주시면 기능이 추가될 가능성이 조금 더 높아지겠지요.^^
  • profile profile
    혹시 common/tpl 에 있는 common_layout.html 도 코어 파일일까요 ?

    fontawesome 4.7 이랑 5.7 로드 문구랑 로그인 / 비회원 / 관리자 상태에 따라 접속 기록 수집 / 광고 스크립트를 추가해놓긴 했습니다...
  • profile profile

    라이믹스에서 업데이트 될때마다 배포되는 것들은 코어라고 볼 수 있습니다.
    https://github.com/rhymix/rhymix

    위 폴더의 하위에 있는 모든 것이 함께 배포가 되고 기능개선을 위해 수정이 됩니다.
    이러한 부분을 코어라고 칭할 수 있습니다.

    처음 설치할때 설치된 모든 것이 코어입니다.
    따로 추가로 설치하신 부분은 서드파티라고 부릅니다.

     

    지금 필요해서 추가하신 코드는 위 코어 부분이 아닌 곳에 적용하는 것이 앞으로 관리적인 측면에서 이롭겠죠.

    배포되는 기본 레이아웃에 기능을 추가하는 것은 똑같이 코어를 수정하는 것과 같습니다.

     

    별도로 서드파티 레이아웃사용한다면 거기에 기능을 추가해서 코드를 추가하신다면 코어 업데이트 시 최신 버전의 라이믹스를 통째로 업로드해도 영향을 받지 않습니다.

     

    또는 레이아웃이 아닌 별도의 자료를 만들어서 기능을 구현하시거나 하신다면 이 또한 코어 업데이트때 신경을 쓰지 않아도 되는 것이구요.

  • profile profile

    아이콘, 광고, 애널리틱스 등 외부 스크립트는 사이트 설정이나 레이아웃의 "헤더 스크립트"에 넣으시면 됩니다.

     

    다른 CMS나 프레임워크에서 소스 수정으로 해결할 법한 문제의 90%는 라이믹스에서는 관리자 화면에서 설정으로 해결할 수 있습니다. 소스를 먼저 만져보려는 습관을 바꿔보세요.^^

  • profile profile

    좋은 충고 고맙습니다 ^^
    비회원 / 회원 / 관리자를 감지하는 if($grant->manager) 이나 @elseif($is_logged) 그리고 @else, 특정 ip 에서 실수로 광고 클릭하지 않게 하려고 배열을 불러와서 해당 array 에 ip 가 있다면 안뜨게 하는 기능도 사용중입니다..
    php 문법과 위 if 문이 사용중인 스킨의 헤더스크립트에서도 정상작동 할까요?
    {@
    $ip_ = array("172.30.1", "*.*.*");
    $ip = getenv('REMOTE_ADDR');
    $ips = explode(".", $ip);
    $ip = $ips[0].".".$ips[1].".".$ips[2];
    }

  • profile profile
    아니요. 제가 말씀드린 방법으로 처리하셔야 합니다.
  • profile profile
    아, 템플릿 코드가 들어가야 한다면 헤더 스크립트는 무리겠네요.

    설마 코어에 포함된 기본 레이아웃을 그대로 사용하고 계시지는 않을 테니, 다른 분의 제안처럼 레이아웃 소스 하단에 넣는 것이 가장 무난하겠습니다. 별도로 설치하신 레이아웃이라면 코어 업데이트시 영향을 받지 않을 테니까요.
  • profile profile
    어 수정 중에 질문이 생겼는데 제가 프로그래밍 쪽 전공이라 위에서부터 작성해야 하는것으로 아는데 html 은 아래서부터 읽는건가요?
  • profile profile
    아뇨, 위에서부터 읽습니다.

    광고나 애널리틱스 소스를 가능하면 아래에 넣으라고 하는 이유는 로딩속도 때문입니다. 외부의 광고서버나 해외 구글서버에 접속하는 데 시간이 은근히 많이 걸리거든요. 사용자들이 느끼는 로딩속도에 영향을 주지 않도록, 다른 내용이 모두 로딩된 후에 로딩하라고 맨 아래에 넣습니다.

    단, 아이콘 폰트 같은 것은 페이지에서 사용해야 하니까 맨 위에서 선언해야 그 밑에서 사용할 수 있겠지요? 그래서 이런 것은 푸터가 아닌 헤더에 넣습니다. 아이콘 폰트를 불러오는 경로가 매우 중요한 것은 그 때문입니다. 맨 위에서 선언할 수밖에 없는 폰트어썸 같은 웹폰트를 bootstrapcdn 따위의 저질 CDN에서 로딩하면 처음 방문하는 사람은 로딩속도가 몇 초씩 지연되기도 하거든요. (요즘은 bootstrapcdn도 자기네가 직접 운영하는 것을 포기하고 jsdelivr를 쓰라고 하더군요.)