도와주세요

XE에서 포인트 부족할시 알림창 띄우기

도토리묵2019.01.17 00:03조회 수 81댓글 3

    • 글자 크기

구현하다가 미쳐버릴것 같습니다. 으아아아아악 ㅋㅋㅋㅋㅋ




XE/라이믹스에서 포인트가 부족한데 글을 열람하면, 내용이 안보이고 대신에 포인트가 없습니다. 라는 문구가 뜹니다.


근데 이런식으로 하면 여러 취약점이 있고 그걸 악용하시는 분이 몇명 계셔서 말이죠..


아예 접속자체가 불가하고 알림창 형식으로 띄우고 싶습니다. 


권한이 없습니다 처럼 말이죠. 사이트 주소를 쳐도 목록부분이 뜨고 접속이 제대로 안되잖아요.




살펴본 결과 point.controller.php 에 $lang->msg_disallow_by_point 이걸 어떻게 하면 될듯 한데.. 잘 모르겠습니다..




// If the reader does not have enough points, deny access.
if ($cur_point + $reader_point < 0 && $config->disable_read_document == 'Y')
{
if (!$logged_member_srl && $config->disable_read_document_except_robots == 'Y' && isCrawler())
{
$_SESSION['banned_document'][$obj->document_srl] = false;
}
else
{
$message = sprintf(lang('msg_disallow_by_point'), abs($reader_point), $cur_point);
$obj->add('content', $message);
$GLOBALS['XE_EXTRA_VARS'][$obj->document_srl] = array();
$_SESSION['banned_document'][$obj->document_srl] = true;
return new BaseObject(-1, $message);
}
}
else
{
$_SESSION['banned_document'][$obj->document_srl] = false;
}




이 부분에서



$message = sprintf(lang('msg_disallow_by_point'), abs($reader_point), $cur_point);
$obj->add('content', $message);
$GLOBALS['XE_EXTRA_VARS'][$obj->document_srl] = array();
$_SESSION['banned_document'][$obj->document_srl] = true;
return new BaseObject(-1, $message);



이 쪽을 어떻게 하면 될것 같기는 한데.. 모르겠네요 ㅠ



echo "<script>alert("$message");</script>";  이런식으로도 시도해봤으나 잘 안된다는..ㅠ

    • 글자 크기
PHP잘하시는분 계신가요...? (by joyful) 비번을 변경해야하는데 도와주세요 스포어 비번이요 (by 더딘)
  • 2019.1.17 17:14

    취약점..이 있나요? 딱히 없는것 같던데...

    접속을 막으려면 $this->stop() 함수를 사용하시면 되고, 알림창을 띄울때는 JS로 alert 함수를 쓰면 됩니다.

     

    $this->stop('[script]~~~[/script]'); 같은 방법으로요.

    보안문제로 대괄호를 썼지만, 실제 적용할때는 적당히 변경하시면 됩니당.

  • @네모
    도토리묵글쓴이
    2019.1.17 23:38

    음 :)

    감사합니다. 일단 정확히 테스트해본건 아니지만, 간혹가다가 이미지 첨부했는데 그대로 보여지는 경우가 있습니다.

    감사합니다! 역쉬 갓-네모네요 ㅋㅋ

    독감 완쾌되시길!

  • @네모
    도토리묵글쓴이
    2019.1.18 00:13

    효과가 없습니다 엉엉 ㅠ..

     

    $message = sprintf(lang('msg_disallow_by_point'), abs($reader_point), $cur_point);

    $obj->add('content', $message);

    $GLOBALS['XE_EXTRA_VARS'][$obj->document_srl] = array();

    $_SESSION['banned_document'][$obj->document_srl] = true;

    return new BaseObject(-1, $message);

     

    이거 다 지우고

     

    $this->stop('[script]~~~[/script]'); 이거 쓰면 되나요?

댓글 달기

번호 제목 글쓴이 날짜 조회 수
공지 [중요] IP 변경이 있습니다.20 마스터 2019.09.20 687
공지 [중요] 고정 IP에 문제가 발생한 것 같습니다.1 마스터 2019.09.20 444
공지 회원 전용 페이지가 생겼습니다.15 마스터 2018.03.20 8951
공지 [필독] 질문하는 방법6 마스터 2018.02.23 1187
521 게시판 중복확인 만들다가 너무 허탈해서 올려봅니다5 Piedots 2019.01.19 108
520 사이트 정보 등록2 캣치 2019.01.19 63
519 PHP잘하시는분 계신가요...?4 title: 에그joyful 2019.01.17 68
XE에서 포인트 부족할시 알림창 띄우기3 도토리묵 2019.01.17 81
517 비번을 변경해야하는데 도와주세요 스포어 비번이요1 더딘 2019.01.16 59
516 giphy, gfycat 등 사이트가 일부 브라우저 또는 기기에서 문제가 있나요?4 이니스프리 2019.01.15 79
515 음 제 블로그가 증발한건가요...?21 협스 2019.01.13 194
514 미디어플렛폼 vs 커뮤니티55 title: 에그joyful 2019.01.13 309
513 판단 대기 시간6 없음 2019.01.11 97
512 링크파싱 애드온에서 대표사진 파일 수집과 관련하여 질문 드립니다 ^^9 이니스프리 2019.01.10 111
511 비밀번호 값이 불러와지지 않습니다.2 Piedots 2019.01.05 54
510 사이트 정보 등록1 없음 2019.01.05 66
509 듀얼모니터 설정 질문드립니다3 calm 2019.01.03 93
508 그누보드5 최근게시물 추출 수정 관련 문의 핫슈 2019.01.01 44
507 호스팅 신청을 안하고 커뮤니티 활동을 해도 되나요?5 없음 2019.01.01 88
506 클라우드플레어랑 스포어 SSL이랑 같이 못 쓰나요?14 KOT49H 2018.12.29 225
505 데이터 센터 입주와 관련해서 질문 드려요 ^^9 이니스프리 2018.12.27 120
504 우분투 서버 최적화 작업의뢰는 언제 요청해야 되는 것인가요?15 이니스프리 2018.12.25 138
503 도메인 구매처에서 아무리 변경해봐도 안되던 이유가 혹시...4 Piedots 2018.12.22 89
502 humit 님의 parseweb 글 관련....3 gimmepoint 2018.12.21 55
이전 1 2 3 4 5 6 7 8 9 10... 32다음
첨부 (0)
서버에 요청 중입니다. 잠시만 기다려 주십시오...