라이믹스 프레임워크를 통해 애드온 단에서 해외 ip면 사이트 접속을 차단하고 에러메시지를 출력하려고 시도해보았으나...

 

if문으로 들어간 조건문에서 아얘 작동을 하지 않는것 같더군요.

제 얇은 지식으로는(..) 모듈 실행전에 애드온을 실행하라 되어있어서 모듈에 정의되어있는 라이믹스 프레임워크가 작동을 하지 않는것? 같다는 생각이 드는데 맞는지 모르겠네요...

  • profile

    아니요, 아무 문제 없이 사용할 수 있습니다.

    어떻게 호출하려고 하고 계신가요?

  • profile ?
    단순히 애드온 뼈대만 생성하고
    애드온이름.addon.php 파일 내부에

    if(!Rhymix\Framework\Korea::isKoreanIP(RX_CLIENT_IP))
      {
          에러 메시지 출력부분
      }
    이렇게 구성하였습니다. 에러메시지 출력부분은 exit함수로 구성하였구요...

    그런데 작동을 하지 않는것 같네요
  • ? profile
    작동을 하지 않는 게 뭔가요? 조건을 뒤집어서 테스트해 보셨나요? 애드온은 켜셨나요?
  • profile ?

    네 애드온을 PC와 모바일 모드 체크해서 활성화 시켰고, 혹시 제 코드 자체가 이상한건 아닌가 해서
    부정문(!)을 붙여보기도 하고 떼어내기도 하고 해 보았는데 조건문 자체가 동작을 하지 않는것 같습니다.

     

    <?php
    if (!defined('__XE__')) exit();
    if($called_position != 'before_module_init') return;
    $msg403 = '<!DOCTYPE html><html><head><meta charset="utf-8"><title>Error 403 Access is denied</title><style>*{padding:0;margin:0}</style></head><body><div style="width:400px;margin:30px auto;background-color:#ffffff;border:1px solid #999;border-radius: 6px;box-shadow:0 3px 7px #ccc"><div style="padding:9px 15px;font-size:20px;line-height:1.4;font-weight:bold;color:#666;font-family:\'Segoe UI\',\'Malgun Gothic\',Tahoma,sans-serif;">HTTP Status 403 - Access is denied<br /><span style="font-size:16px;font-weight:normal;">You don\'t have permission to access / on this server</span></div></div></body></html>';
    
    if (Rhymix\Framework\Korea::isKoreanIP(RX_CLIENT_IP))
      {
          //return new Object(-1, '해외 아이피 즐');
          exit($msg403);
      }
    
    
    
    ?>

     

  • ? profile
    조건문 없이 무조건 해당내용을 출력하도록 해도 마찬가지인가요?
    만약 뭘 해도 안된다면 Rhymix Framework 문제가 아니라 그냥 애드온이 실행되지 않는 것 같은데요.
  • profile ?
    아 조건문 자체를 없애보지는 않았습니다 확인하고 다시 질문글 작성하겠습니다 감사합니다!
  • profile
    혹시 모르니까 if ( -> if( 이렇게 한번 이프와 괄호를 붙여 보시겠어요?
  • profile profile
    그건 관계없습니당 ㅋㅋ
  • profile profile
    혹시 두칸 띄셨나 싶어서요 ㅋㅋㅋㅋ
  • profile profile
    딱한칸이에요 ㅋㅋㅋ

    만약 두칸띄어서 에러가 난다면 신텍스 에러 뜨지 않을까요 ㅎ if뒤에 아무것도 없는거같다며..확인해보라는 500에러가..