포럼

soo_replace_content.zip

다운 받으셔서 압축을 푸신 후 애드온으로 설치하시면 됩니다.

기능은 단순합니다.

기능1

/\<img[^>]+src\=[^>]+act=(disp|proc)[^>]+\>/im 구문이 <span class="misol_dummy"></span> 로 치환됩니다. 공백이 아닌 이유는 공백이 되면서 새로운 CSRF 코드가 완성될 수도 있기 때문입니다.

 

기능2

알려진 브라우저 ACCEPT 헤더를 가진 브라우저에서 해당 코드가 있는 페이지를 방문하더라도 실제 실행되지 않도록 했습니다.

 

사용권

사용권은 MIT 라이선스를 따릅니다.

<?php
/**
 * @file soo_replace_content.addon.php
 * @author MinSoo Kim <misol.kr@gmail.com>
 * @brief Replace image tag CSRF text.
 */
// Stop if non-logged-in user is
if(!defined('__XE__')) exit();

/**
 * Replace content
 * */
if(($this->act === 'procBoardInsertDocument' || $this->act === 'procBoardInsertComment' || $this->act === 'procTextyleInsertComment') && $called_position == 'before_module_init' && is_string(Context::get('content')))
{
    $board_content = '';
    $board_content = strval(Context::get('content'));
    $board_content = preg_replace("/\<img[^>]+src\=[^>]+act=(disp|proc)[^>]+\>/im", '<span class="misol_dummy"></span>', $board_content);
    Context::set('content', $board_content);
}

/**
 * if XE is requested... with img tag close.
**/
if((stripos($this->act, 'proc') !== FALSE || stripos($this->act, 'disp') !== FALSE) && $called_position == 'before_module_init')
{
    $http_img_accept_headers = array(
        'image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', // InternetExplorer IMG
        'image/png,image/svg+xml,image/jxr,image/*;q=0.8,*/*;q=0.5', // InternetExplorer 11, MS Edge IMG
        'image/png,image/*;q=0.8,*/*;q=0.5', // FireFox IMG
        'image/webp,*/*;q=0.8', //Chrome IMG
        'image/webp,image/*,*/*;q=0.8', //Chrome IMG

        'audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6;*/*;q=0.5', // FireFox VIDEO
        'video/webm,video/ogg,video/*;q=0.9,application/ogg=0.7,audio/*;q=0.6;*/*;q=0.5' //FireFox AUDIO
    );

    if(in_array(str_replace(array(' ','    '),array('',''),$_SERVER['HTTP_ACCEPT']), $http_img_accept_headers))
    {
        Context::close();
        exit();
    }
}
?>

 

글쓴이 제목 최종 글
우리아기 브라우저별로 보여줄 css불러오기 [2] 2011.06.20 by 우리아기
이키나! 옛날 XE 에디터를 부활시키는건 어떨까요? [2] 2011.06.19 by 老姜君
우리아기 브라우저 별로 다른 css보여주는방법 [3] 2011.06.19 by 독도2005
에릭리카드 글쓰기에서 에디터... [6] 2020.03.14 by id2040
hika1 xeed에서 에디터 컴포넌트 보이는 방식 건의 [7] 2011.06.18 by id2040
하늘종 이제 xe 프로젝트 호스팅은 공식적으로 관리하지 않는 건가요? [2] 2011.06.18 by 착한악마
인간a 1.5.0 SVN ? 주소알수있을까요? ㅠ [3] 2011.06.18 by Community
엘카 포인트 그룹 문제 아직 해결 안된 모양이네요.. [6] 2011.06.18 by 아아악내눈
misol XE 마켓 판매자 이용 약관에 개인 판매자 애매한 부분. [9] 2011.06.18 by Garon
웹 엔진 제 사이트 좀 살려 주세요.. ㅠㅠ [5] 2011.06.17 by 웹 엔진
인간a 텍스타일 글쓰기 애디트 바꾸는방법 [3] 2011.06.17 by YO-DA
트루퍼 search.daum.net 이 무지막지하게 들어옵니다. [2] file 2011.06.17 by 깜장천사
앙까? "건방지게 어딜 나서? 겸손할 줄 알아야지. 넌 항상 HTML/CSS 다음이야."  
웹 엔진 IE에서는 투명 글씨 안되나요? [7] 2011.06.16 by SMaker
SMaker 끙... 괜히 1.5.0 브랜치 업데이트했나 봐요. [11] 2011.06.16 by 인간a
황시 XE에서 다국어 페이지 검색이 안되는 부분 해결방안  
Community 코어 최신버전 SVN주소좀 알 수 있을까요? [2] 2020.03.14 by Community
SMaker 웁스, XE마켓 버그 발견 [4] 2011.06.13 by SMaker
인간a 로그인유지라는 메세지 변경 어떻게하죠? [2] 2011.06.13 by 인간a
레슬리  XE 공식 사이트가 느린 줄 알았습니다. [6] 2011.06.13 by 순수의시절