[G5] 게시판 > 글쓰기(에디터) > 내용 에 CSS & javascript(자바스크립트) 사용하기 > 기술자료 | 해피정닷컴

[G5] 게시판 > 글쓰기(에디터) > 내용 에 CSS & javascript(자바스크립트) 사용하기 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 게시판 > 글쓰기(에디터) > 내용 에 CSS & javascript(자바스크립트) 사용하기 > 기술자료

그누보드 [G5] 게시판 > 글쓰기(에디터) > 내용 에 CSS & javascript(자바스크립트) 사용하기

페이지 정보


본문

게시판 본문에 글을 작성할때 css 나 javascript 는 작동하지 않습니다
정확히 말하면, 디비의 게시판 테이블의 wr_content 에는 정보가 있으나, view 할때 css 와 javacript 를 제거후 보여줍니다.


1. 예를 들면 본문에 아래의 내용을 저장했다면

1-1. write.php 에 입력한 내용
<style>
.a1 { font-size:2em; }
.a2 { font-size:1.1em; }
</style>
<a href="#" onclick="window.open('/delivery.php','evaluate','resizable=no, scrollbars=no, width=500, height=500');">배송서비스신청</a>

1-2. 디비에 wr_content 에 저장 OK

1-3. view.php 에서 보여질때
<a href="#">배송서비스신청</a>


2. <style>..</style> 과 onclick 내용이 모두 제거후 보여지는데, 이것을 내가 저장한 내용으로 보여주고 싶을때 아래와 같이 합니다.

2-1. /lib/common.lib.php 내용에서 conv_content 함수에 대해서 아래 붉은 글자를 추가

function conv_content($content, $html, $filter=true)
{
    global $config, $board, $bo_table// 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)

    if ($html)
    {
        .....

        $content = preg_replace($source, $target, $content);

        // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용) - lib/common.lib.php & bbs/write.php 2개 파일 수정 필요
        if ($bo_table=='특정게시판') { } else { // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)

        if($filter)
            $content = html_purifier($content);
        } // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)


이렇게 수정하면 특정게시판일때는 html_purifier 가 작동하지 않고, 저장된 원본코드가 그대로 표시가 됩니다.
관리자가 제어하는 게시판이 아닌 것까지 풀면 해킹의 위험이 있으므로 주의가 필요합니다.


2-2. /bbs/write.php  에서 붉은 글자를 추가
    if ( $w == 'u' && (! $is_member || ! $is_admin || $write['mb_id'] !== $member['mb_id']) ){
        // kisa 취약점 제보 xss 필터 적용적용
        // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용) - lib/common.lib.php & bbs/write.php 2개 파일 수정 필요
        if ($bo_table=='특정게시판') { // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)
        $content = get_text($write['wr_content'], 0);
        } else { // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)

        $content = get_text(html_purifier($write['wr_content']), 0);
        } // 지정된 게시판은 css 와 javascript 입력내용 모두 노출 ( 2021-02-18 정창용)
    }

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 10 페이지
  • RSS
기술자료 목록
2461
그누보드   7959  2021-05-18 13:48 ~ 2021-07-22 12:24  
2460
호스팅   4124  2021-05-14 17:05  
2459
SNS   8513  2021-05-13 19:34 ~ 2021-05-13 19:35  
2458
JavaScript   5297  2021-05-13 17:23 ~ 2021-05-13 17:34  
2457
MySQL   5692  2021-04-27 15:18  
2456
그누보드   5386  2021-04-21 17:55 ~ 2021-06-15 18:19  
2455
Linux   5671  2021-04-07 12:20 ~ 2023-05-23 13:42  
2454
MySQL   11832  2021-03-23 17:46 ~ 2021-03-23 18:04  
2453
PHP   8151  2021-03-04 19:10 ~ 2021-06-22 00:03  
2452
PHP   6891  2021-03-03 16:20 ~ 2021-03-03 16:21  
2451
그누보드   4616  2021-02-25 22:28 ~ 2021-03-17 11:33  
열람
그누보드   6141  2021-02-18 10:28 ~ 2021-02-18 14:10  
2449
그누보드   6542  2021-02-08 14:43 ~ 2021-02-08 16:31  
2448
PHP   11573  2021-01-20 12:07 ~ 2021-01-27 13:35  
2447
전자결제   8607  2021-01-01 01:20 ~ 2021-01-13 19:41  
2446
JavaScript   6581  2020-12-24 19:40  
2445
HTML   5129  2020-12-20 11:42  
2444
SNS   9005  2020-12-18 07:58  
2443
그누보드   7686  2020-12-14 18:09 ~ 2023-04-04 11:18  
2442
SNS   6460  2020-12-11 09:37 ~ 2020-12-18 11:55  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.