<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[게시물 DB업로드 부분 및 게시물 등록시 비밀번호 암호화 방식]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/16310</link>
		<description><![CDATA[<p>안녕하세요. 게시판 커스텀을 하려고 합니다.</p>

<p>여러가지 문의사항 남깁니다.<br />
<br />
<strong>1)</strong>디폴트 스킨 기준으로 게시물을 등록하면<br />
이 내용을 DB에 등록하는 부분이 어디인지 알려주실 수 있나요??<br />
어느 부분에서 wp_kboard_board_content 테이블에 업로드를 시키나요??<br />
<br />
<strong>2)</strong>KBoard에서 작성된 글을 제가 만든 다른 화면에서 접근하여 게시물 내용을 확인하려고 합니다.<br />
그렇게 하려면 게시물 password랑 사용자가 입력한 password랑 비교하는 부분이들어가야 하는데<br />
DB에 암호화하여 들어가는 방식이 어떤 방식인지 알려주실 수 있나요?<br />
sha1같은 방식을 사용하시는건지 알려주세요~</p>

<p>답변 기다리겠습니다 감사합니다!</p>
]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[답변 감사합니다!
]]></title>
			<link>https://www.cosmosfarm.com/threads/document/16328</link>
			<description><![CDATA[<p>답변 감사합니다!</p>
]]></description>
			<author>금큐</author>
			<pubDate>Tue, 26 Sep 2017 03:48:35 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

1. 게시글은 KBoard 스킨과 상관없이 kboard_board_content 테이블에 저장됩니다.

FTP...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/16324</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>1. 게시글은 KBoard 스킨과 상관없이 kboard_board_content 테이블에 저장됩니다.</p>

<p>FTP로 접속해서 /wp-content/plugins/kboard/class/KBContent.class.php 파일에서</p>

<p>아래의 코드가 게시물을 DB에 저장하는 코드입니다.</p>

<pre>
<code class="language-php">public function insertContent($data = array()){
	global $wpdb;
	
	if(!$data){
		$data['board_id'] = $this-&gt;board_id;
		$data['parent_uid'] = $this-&gt;parent_uid;
		$data['member_uid'] = $this-&gt;member_uid;
		$data['member_display'] = $this-&gt;member_display;
		$data['title'] = $this-&gt;title;
		$data['content'] = $this-&gt;content;
		$data['date'] = date('YmdHis', current_time('timestamp'));
		$data['update'] = $data['date'];
		$data['view'] = 0;
		$data['comment'] = 0;
		$data['like'] = 0;
		$data['unlike'] = 0;
		$data['vote'] = 0;
		$data['category1'] = $this-&gt;category1;
		$data['category2'] = $this-&gt;category2;
		$data['secret'] = $this-&gt;secret;
		$data['notice'] = $this-&gt;notice;
		$data['search'] = $this-&gt;search;
		$data['thumbnail_file'] = '';
		$data['thumbnail_name'] = '';
		$data['status'] = $this-&gt;status;
		$data['password'] = $this-&gt;password;
	}
	
	// 입력할 데이터 필터
	$data = apply_filters('kboard_insert_data', $data, $this-&gt;board_id);
	
	// sanitize
	$data['board_id'] = isset($data['board_id'])?intval($data['board_id']):0;
	$data['parent_uid'] = isset($data['parent_uid'])?intval($data['parent_uid']):0;
	$data['member_uid'] = isset($data['member_uid'])?intval($data['member_uid']):0;
	$data['member_display'] = isset($data['member_display'])?sanitize_text_field($data['member_display']):'';
	$data['title'] = isset($data['title'])?kboard_safeiframe(kboard_xssfilter($data['title'])):'';
	$data['content'] = isset($data['content'])?kboard_safeiframe(kboard_xssfilter($data['content'])):'';
	$data['date'] = isset($data['date'])?sanitize_key($data['date']):date('YmdHis', current_time('timestamp'));
	$data['update'] = isset($data['update'])?sanitize_key($data['update']):$data['date'];
	$data['view'] = isset($data['view'])?intval($data['view']):0;
	$data['comment'] = isset($data['comment'])?intval($data['comment']):0;
	$data['like'] = isset($data['like'])?intval($data['like']):0;
	$data['unlike'] = isset($data['unlike'])?intval($data['unlike']):0;
	$data['vote'] = isset($data['vote'])?intval($data['vote']):0;
	$data['category1'] = isset($data['category1'])?sanitize_text_field($data['category1']):'';
	$data['category2'] = isset($data['category2'])?sanitize_text_field($data['category2']):'';
	$data['secret'] = isset($data['secret'])?sanitize_key($data['secret']):'';
	$data['notice'] = isset($data['notice'])?sanitize_key($data['notice']):'';
	$data['search'] = isset($data['search'])?intval(($data['secret'] &amp;&amp; $data['search']==1)?'2':$data['search']):'1';
	$data['thumbnail_file'] = isset($data['thumbnail_file'])?sanitize_text_field($data['thumbnail_file']):'';
	$data['thumbnail_name'] = isset($data['thumbnail_name'])?sanitize_text_field($data['thumbnail_name']):'';
	$data['status'] = isset($data['status'])?sanitize_key($data['status']):'';
	$data['password'] = isset($data['password'])?$data['password']:'';
	
	// 불필요한 데이터 필터링
	$data = kboard_array_filter($data, array('board_id', 'parent_uid', 'member_uid', 'member_display', 'title', 'content', 'date', 'update', 'view', 'comment', 'like', 'unlike', 'vote', 'category1', 'category2', 'secret', 'notice', 'search', 'thumbnail_file', 'thumbnail_name', 'status', 'password'));
	
	if($data['board_id'] &amp;&amp; $data['title']){
		foreach($data as $key=&gt;$value){
			$value = esc_sql($value);
			$insert_key[] = "`$key`";
			$insert_data[] = "'$value'";
		}
		
		$board = $this-&gt;getBoard();
		$board_total = $board-&gt;getTotal();
		$board_list_total = $board-&gt;getListTotal();
		
		if($this-&gt;status != 'trash'){
			$board-&gt;meta-&gt;total = $board_total + 1;
			$board-&gt;meta-&gt;list_total = $board_list_total + 1;
		}
		else{
			$board-&gt;meta-&gt;total = $board_total + 1;
		}
		
		$wpdb-&gt;query("INSERT INTO `{$wpdb-&gt;prefix}kboard_board_content` (".implode(',', $insert_key).") VALUES (".implode(',', $insert_data).")");
		
		$this-&gt;uid = $wpdb-&gt;insert_id;
		
		$this-&gt;insertPost($this-&gt;uid, $data['member_uid']);
		
		$wpdb-&gt;flush();
		
		return $this-&gt;uid;
	}
	return 0;
}</code></pre>

<p> </p>

<p>2. 현재 게시글에서 설정한 비밀번호는 암호화 처리를 따로 하지 않고 있습니다.</p>

<p>kboard_board_content 테이블에서</p>

<p>secret 컬럼이 비밀글 여부를 나타내고</p>

<p>password 컬럼이 비밀글의 비밀번호를 의미합니다.</p>

<p>비밀번호 암호화는 추후 적용될 예정입니다.</p>

<p>고맙습니다.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 26 Sep 2017 02:26:23 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>