도와주세요

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>";  이런식으로도 시도해봤으나 잘 안된다는..ㅠ

I luv React

    • 글자 크기
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]'); 이거 쓰면 되나요?

댓글 달기

번호 제목 글쓴이 날짜 조회 수
공지 사이트 정보 등록에 경고로 변경된 분들 참고하세요.7 마스터 2019.06.19 1091
공지 [중요 공지 포함] 사이트가 복구 되었습니다.42 마스터 2019.06.18 1397
공지 호스팅 신청이 다시 가능합니다.18 마스터 2019.04.18 2176
공지 회원 전용 페이지가 생겼습니다.15 마스터 2018.03.20 8034
공지 [필독] 질문하는 방법6 마스터 2018.02.23 1067
527 PHP 순서 매기기3 title: 에그joyful 2019.01.23 71
526 세션연동부분에 대하여 도움이 필요합니다.2 Hanam09 2019.01.21 91
525 Input submit 버튼2 Piedots 2019.01.20 56
524 x-y넷에서 내 웹사이트에서 트래픽 사용 현황을 볼 수 있는 php소스가 있었습니다2 없음 2019.01.20 66
523 POST 데이터가 보내지지 않습니다5 Piedots 2019.01.20 83
522 도메인 포워딩이 제대로 이루어지지 않습니다.4 title: 애프터 이펙트제르엘 2019.01.20 102
521 게시판 중복확인 만들다가 너무 허탈해서 올려봅니다5 Piedots 2019.01.19 105
520 사이트 정보 등록2 캣치 2019.01.19 62
519 PHP잘하시는분 계신가요...?4 title: 에그joyful 2019.01.17 67
XE에서 포인트 부족할시 알림창 띄우기3 도토리묵 2019.01.17 81
517 비번을 변경해야하는데 도와주세요 스포어 비번이요1 더딘 2019.01.16 54
516 giphy, gfycat 등 사이트가 일부 브라우저 또는 기기에서 문제가 있나요?4 이니스프리 2019.01.15 74
515 음 제 블로그가 증발한건가요...?21 협스 2019.01.13 190
514 미디어플렛폼 vs 커뮤니티55 title: 에그joyful 2019.01.13 309
513 판단 대기 시간6 없음 2019.01.11 97
512 링크파싱 애드온에서 대표사진 파일 수집과 관련하여 질문 드립니다 ^^9 이니스프리 2019.01.10 104
511 비밀번호 값이 불러와지지 않습니다.2 Piedots 2019.01.05 51
510 사이트 정보 등록1 없음 2019.01.05 66
509 듀얼모니터 설정 질문드립니다3 calm 2019.01.03 71
508 그누보드5 최근게시물 추출 수정 관련 문의 핫슈 2019.01.01 44
이전 1 2 3 4 5 6 7 8 9 10... 31다음
첨부 (0)
서버에 요청 중입니다. 잠시만 기다려 주십시오...