도와주세요

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

title: 만렙이 되어보자도토리묵2019.01.17 00:03조회 수 64댓글 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>";  이런식으로도 시도해봤으나 잘 안된다는..ㅠ

개인블로그: https://dtmk.tistory.com

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

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

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

     

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

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

  • @네모
    title: 만렙이 되어보자도토리묵글쓴이
    2019.1.17 23:38

    음 :)

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

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

    독감 완쾌되시길!

  • @네모
    title: 만렙이 되어보자도토리묵글쓴이
    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]'); 이거 쓰면 되나요?

댓글 달기

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