Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8abeb47e8 | ||
|
|
40508b05d0 | ||
|
|
31bf6e94ad | ||
|
|
f1a69ff7a4 | ||
|
|
6b67183ec5 | ||
|
|
ab5fb4815d | ||
|
|
2ce07e5ec9 | ||
|
|
826a497e84 | ||
|
|
5fdd38e1ce | ||
|
|
67353c508a | ||
|
|
e069c00ecd | ||
|
|
60387c8a95 | ||
|
|
4cc8284016 | ||
|
|
1ba5bb09fc | ||
|
|
953e301096 | ||
|
|
72bbc0b66b | ||
|
|
82cdd90edc | ||
|
|
1d0f0bf50b | ||
|
|
4366d20410 | ||
|
|
e4d47cc7fd | ||
|
|
3efa500b02 | ||
|
|
129da34249 |
+42
-1
@@ -379,6 +379,47 @@ function get_sanitize_input($s, $is_html=false){
|
||||
return $s;
|
||||
}
|
||||
|
||||
function check_log_folder($log_path){
|
||||
|
||||
if( is_writable($log_path) ){
|
||||
|
||||
// 아파치 서버인 경우 웹에서 해당 폴더 접근 막기
|
||||
$htaccess_file = $log_path.'/.htaccess';
|
||||
if ( !file_exists( $htaccess_file ) ) {
|
||||
if ( $handle = @fopen( $htaccess_file, 'w' ) ) {
|
||||
fwrite( $handle, 'Order deny,allow' . "\n" );
|
||||
fwrite( $handle, 'Deny from all' . "\n" );
|
||||
fclose( $handle );
|
||||
}
|
||||
}
|
||||
|
||||
// 아파치 서버인 경우 해당 디렉토리 파일 목록 안보이게 하기
|
||||
$index_file = $log_path . '/index.php';
|
||||
if ( !file_exists( $index_file ) ) {
|
||||
if ( $handle = @fopen( $index_file, 'w' ) ) {
|
||||
fwrite( $handle, '' );
|
||||
fclose( $handle );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// txt 파일과 log 파일을 조회하여 30일이 지난 파일은 삭제합니다.
|
||||
$txt_files = glob($log_path.'/*.txt');
|
||||
$log_files = glob($log_path.'/*.log');
|
||||
|
||||
$del_files = array_merge($txt_files, $log_files);
|
||||
|
||||
if( $del_files && is_array($del_files) ){
|
||||
foreach ($del_files as $del_file) {
|
||||
$filetime = filemtime($del_file);
|
||||
// 30일이 지난 파일을 삭제
|
||||
if($filetime && $filetime < (G5_SERVER_TIME - 2592000)) {
|
||||
@unlink($del_file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교
|
||||
function check_admin_token()
|
||||
{
|
||||
@@ -435,7 +476,7 @@ function admin_check_xss_params($params){
|
||||
if ( empty($value) ) continue;
|
||||
|
||||
if( is_array($value) ){
|
||||
admin_check_xss_params($params);
|
||||
admin_check_xss_params($value);
|
||||
} else if ( preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && (preg_match('/script.*?\/script/ius', $value) || preg_match('/onload=.*/ius', $value)) ){
|
||||
alert('요청 쿼리에 잘못된 스크립트문장이 있습니다.\\nXSS 공격일수도 있습니다.');
|
||||
die();
|
||||
|
||||
+49
-48
@@ -38,43 +38,43 @@ $sql = " insert into {$g5['board_table']}
|
||||
bo_subject = '$target_subject',
|
||||
bo_device = '{$board['bo_device']}',
|
||||
bo_admin = '{$board['bo_admin']}',
|
||||
bo_list_level = '{$board[bo_list_level]}',
|
||||
bo_read_level = '{$board[bo_read_level]}',
|
||||
bo_write_level = '{$board[bo_write_level]}',
|
||||
bo_reply_level = '{$board[bo_reply_level]}',
|
||||
bo_comment_level = '{$board[bo_comment_level]}',
|
||||
bo_upload_level = '{$board[bo_upload_level]}',
|
||||
bo_download_level = '{$board[bo_download_level]}',
|
||||
bo_html_level = '{$board[bo_html_level]}',
|
||||
bo_link_level = '{$board[bo_link_level]}',
|
||||
bo_count_modify = '{$board[bo_count_modify]}',
|
||||
bo_count_delete = '{$board[bo_count_delete]}',
|
||||
bo_read_point = '{$board[bo_read_point]}',
|
||||
bo_write_point = '{$board[bo_write_point]}',
|
||||
bo_comment_point = '{$board[bo_comment_point]}',
|
||||
bo_download_point = '{$board[bo_download_point]}',
|
||||
bo_use_category = '{$board[bo_use_category]}',
|
||||
bo_list_level = '{$board['bo_list_level']}',
|
||||
bo_read_level = '{$board['bo_read_level']}',
|
||||
bo_write_level = '{$board['bo_write_level']}',
|
||||
bo_reply_level = '{$board['bo_reply_level']}',
|
||||
bo_comment_level = '{$board['bo_comment_level']}',
|
||||
bo_upload_level = '{$board['bo_upload_level']}',
|
||||
bo_download_level = '{$board['bo_download_level']}',
|
||||
bo_html_level = '{$board['bo_html_level']}',
|
||||
bo_link_level = '{$board['bo_link_level']}',
|
||||
bo_count_modify = '{$board['bo_count_modify']}',
|
||||
bo_count_delete = '{$board['bo_count_delete']}',
|
||||
bo_read_point = '{$board['bo_read_point']}',
|
||||
bo_write_point = '{$board['bo_write_point']}',
|
||||
bo_comment_point = '{$board['bo_comment_point']}',
|
||||
bo_download_point = '{$board['bo_download_point']}',
|
||||
bo_use_category = '{$board['bo_use_category']}',
|
||||
bo_category_list = '{$board['bo_category_list']}',
|
||||
bo_use_sideview = '{$board[bo_use_sideview]}',
|
||||
bo_use_file_content = '{$board[bo_use_file_content]}',
|
||||
bo_use_secret = '{$board[bo_use_secret]}',
|
||||
bo_use_dhtml_editor = '{$board[bo_use_dhtml_editor]}',
|
||||
bo_use_rss_view = '{$board[bo_use_rss_view]}',
|
||||
bo_use_good = '{$board[bo_use_good]}',
|
||||
bo_use_nogood = '{$board[bo_use_nogood]}',
|
||||
bo_use_name = '{$board[bo_use_name]}',
|
||||
bo_use_signature = '{$board[bo_use_signature]}',
|
||||
bo_use_ip_view = '{$board[bo_use_ip_view]}',
|
||||
bo_use_sideview = '{$board['bo_use_sideview']}',
|
||||
bo_use_file_content = '{$board['bo_use_file_content']}',
|
||||
bo_use_secret = '{$board['bo_use_secret']}',
|
||||
bo_use_dhtml_editor = '{$board['bo_use_dhtml_editor']}',
|
||||
bo_use_rss_view = '{$board['bo_use_rss_view']}',
|
||||
bo_use_good = '{$board['bo_use_good']}',
|
||||
bo_use_nogood = '{$board['bo_use_nogood']}',
|
||||
bo_use_name = '{$board['bo_use_name']}',
|
||||
bo_use_signature = '{$board['bo_use_signature']}',
|
||||
bo_use_ip_view = '{$board['bo_use_ip_view']}',
|
||||
bo_use_list_view = '{$board['bo_use_list_view']}',
|
||||
bo_use_list_content = '{$board[bo_use_list_content]}',
|
||||
bo_table_width = '{$board[bo_table_width]}',
|
||||
bo_subject_len = '{$board[bo_subject_len]}',
|
||||
bo_mobile_subject_len = '{$board[bo_mobile_subject_len]}',
|
||||
bo_page_rows = '{$board[bo_page_rows]}',
|
||||
bo_mobile_page_rows = '{$board[bo_mobile_page_rows]}',
|
||||
bo_new = '{$board[bo_new]}',
|
||||
bo_hot = '{$board[bo_hot]}',
|
||||
bo_image_width = '{$board[bo_image_width]}',
|
||||
bo_use_list_content = '{$board['bo_use_list_content']}',
|
||||
bo_table_width = '{$board['bo_table_width']}',
|
||||
bo_subject_len = '{$board['bo_subject_len']}',
|
||||
bo_mobile_subject_len = '{$board['bo_mobile_subject_len']}',
|
||||
bo_page_rows = '{$board['bo_page_rows']}',
|
||||
bo_mobile_page_rows = '{$board['bo_mobile_page_rows']}',
|
||||
bo_new = '{$board['bo_new']}',
|
||||
bo_hot = '{$board['bo_hot']}',
|
||||
bo_image_width = '{$board['bo_image_width']}',
|
||||
bo_skin = '{$board['bo_skin']}',
|
||||
bo_mobile_skin = '{$board['bo_mobile_skin']}',
|
||||
bo_include_head = '{$board['bo_include_head']}',
|
||||
@@ -84,20 +84,21 @@ $sql = " insert into {$g5['board_table']}
|
||||
bo_mobile_content_head = '".addslashes($board['bo_mobile_content_head'])."',
|
||||
bo_mobile_content_tail = '".addslashes($board['bo_mobile_content_tail'])."',
|
||||
bo_insert_content = '".addslashes($board['bo_insert_content'])."',
|
||||
bo_gallery_cols = '{$board[bo_gallery_cols]}',
|
||||
bo_gallery_width = '{$board[bo_gallery_width]}',
|
||||
bo_gallery_height = '{$board[bo_gallery_height]}',
|
||||
bo_mobile_gallery_width = '{$board[bo_mobile_gallery_width]}',
|
||||
bo_mobile_gallery_height = '{$board[bo_mobile_gallery_height]}',
|
||||
bo_upload_size = '{$board[bo_upload_size]}',
|
||||
bo_reply_order = '{$board[bo_reply_order]}',
|
||||
bo_use_search = '{$board[bo_use_search]}',
|
||||
bo_order = '{$board[bo_order]}',
|
||||
bo_gallery_cols = '{$board['bo_gallery_cols']}',
|
||||
bo_gallery_width = '{$board['bo_gallery_width']}',
|
||||
bo_gallery_height = '{$board['bo_gallery_height']}',
|
||||
bo_mobile_gallery_width = '{$board['bo_mobile_gallery_width']}',
|
||||
bo_mobile_gallery_height = '{$board['bo_mobile_gallery_height']}',
|
||||
bo_upload_size = '{$board['bo_upload_size']}',
|
||||
bo_reply_order = '{$board['bo_reply_order']}',
|
||||
bo_use_search = '{$board['bo_use_search']}',
|
||||
bo_order = '{$board['bo_order']}',
|
||||
bo_notice = '{$board['bo_notice']}',
|
||||
bo_upload_count = '{$board[bo_upload_count]}',
|
||||
bo_use_email = '{$board[bo_use_email]}',
|
||||
bo_use_cert = '{$board[bo_use_cert]}',
|
||||
bo_use_sns = '{$board[bo_use_sns]}',
|
||||
bo_upload_count = '{$board['bo_upload_count']}',
|
||||
bo_use_email = '{$board['bo_use_email']}',
|
||||
bo_use_cert = '{$board['bo_use_cert']}',
|
||||
bo_use_sns = '{$board['bo_use_sns']}',
|
||||
bo_use_captcha = '{$board['bo_use_captcha']}',
|
||||
bo_sort_field = '{$board['bo_sort_field']}',
|
||||
bo_1_subj = '".addslashes($board['bo_1_subj'])."',
|
||||
bo_2_subj = '".addslashes($board['bo_2_subj'])."',
|
||||
|
||||
+19
-6
@@ -1436,16 +1436,29 @@ if($config['cf_cert_use']) {
|
||||
$log_path = G5_LGXPAY_PATH.'/lgdacom/log';
|
||||
|
||||
if(!is_dir($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_LGXPAY_PATH).'/lgdacom 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
if(!is_writable($log_path)) {
|
||||
|
||||
if( is_writable(G5_LGXPAY_PATH.'/lgdacom/') ){
|
||||
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
|
||||
@mkdir($log_path, G5_DIR_PERMISSION);
|
||||
@chmod($log_path, G5_DIR_PERMISSION);
|
||||
}
|
||||
|
||||
if(!is_dir($log_path)){
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_LGXPAY_PATH).'/lgdacom 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
if(is_dir($log_path) && is_writable($log_path)) {
|
||||
if( function_exists('check_log_folder') ){
|
||||
check_log_folder($log_path);
|
||||
}
|
||||
} else if (is_dir($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,14 @@ $cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',',
|
||||
|
||||
$_POST['cf_title'] = strip_tags($_POST['cf_title']);
|
||||
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key');
|
||||
|
||||
foreach( $check_keys as $key ){
|
||||
if ( isset($_POST[$key]) && $_POST[$key] ){
|
||||
$_POST[$key] = preg_replace('/[^a-z0-9_\-]/i', '', $_POST[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
set cf_title = '{$_POST['cf_title']}',
|
||||
cf_admin = '{$_POST['cf_admin']}',
|
||||
|
||||
@@ -23,7 +23,7 @@ for ($i=0; $i<$count; $i++)
|
||||
|
||||
$code = $_POST['code'][$i];
|
||||
$me_name = $_POST['me_name'][$i];
|
||||
$me_link = preg_match('/^javascript/i', $_POST['me_link'][$i]) ? G5_URL : strip_tags($_POST['me_link'][$i]);
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags($_POST['me_link'][$i]);
|
||||
|
||||
if(!$code || !$me_name || !$me_link)
|
||||
continue;
|
||||
|
||||
@@ -13,6 +13,7 @@ if (!strstr($_SERVER['SCRIPT_NAME'], 'install.php')) {
|
||||
}
|
||||
|
||||
$sv = isset($_REQUEST['sv']) ? get_search_string($_REQUEST['sv']) : '';
|
||||
$st = (isset($_REQUEST['st']) && $st) ? substr(get_search_string($_REQUEST['st']), 0, 12) : '';
|
||||
|
||||
if( isset($token) ){
|
||||
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
|
||||
|
||||
@@ -12,7 +12,7 @@ $g5['title'] = '이모티콘그룹 이동';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$list = array(); //배열 변수 초기화
|
||||
$fo_no_list = isset($_POST['fo_no']) ? implode(',', $_POST['fo_no']) : '';
|
||||
$fo_no_list = isset($_POST['fo_no']) ? clean_xss_tags(strip_tags(implode(',', $_POST['fo_no']))) : '';
|
||||
|
||||
$sql = " select * from {$g5['sms5_form_group_table']} order by fg_no ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
@@ -6,6 +6,8 @@ auth_check($auth[$sub_menu], "r");
|
||||
if(!count($_POST['chk_fg_no']))
|
||||
alert('이모티콘을 이동할 그룹을 한개 이상 선택해 주십시오.', $url);
|
||||
|
||||
$fo_no_list = preg_replace('/[^a-zA-Z0-9\, ]/', '', $fo_no_list);
|
||||
|
||||
$sql = "select * from {$g5['sms5_form_table']} where fo_no in ($fo_no_list) order by fo_no desc ";
|
||||
$result = sql_query($sql);
|
||||
$save = array();
|
||||
|
||||
@@ -11,8 +11,8 @@ if ($w == 'u') // 업데이트
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
$fg_no = (int) $_POST['fg_no'][$k];
|
||||
$fg_name = strip_tags($_POST['fg_name'][$k]);
|
||||
$fg_member = strip_tags($_POST['fg_member'][$k]);
|
||||
$fg_name = isset($_POST['fg_name'][$k]) ? addslashes(strip_tags($_POST['fg_name'][$k])) : '';
|
||||
$fg_member = isset($_POST['fg_member'][$k]) ? addslashes(strip_tags($_POST['fg_member'][$k])) : '';
|
||||
|
||||
if (!is_numeric($fg_no))
|
||||
alert('그룹 고유번호가 없습니다.');
|
||||
@@ -83,7 +83,7 @@ else // 등록
|
||||
if (!strlen(trim($fg_name)))
|
||||
alert('그룹명을 입력해주세요');
|
||||
|
||||
$fg_name = strip_tags($fg_name);
|
||||
$fg_name = addslashes(strip_tags($fg_name));
|
||||
|
||||
$res = sql_fetch("select fg_name from {$g5['sms5_form_group_table']} where fg_name = '$fg_name'");
|
||||
if ($res)
|
||||
|
||||
@@ -11,6 +11,10 @@ $g5['title'] = "문자전송 내역 (번호별)";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
if( isset($st) && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){
|
||||
$st = '';
|
||||
}
|
||||
|
||||
if ($st && trim($sv))
|
||||
$sql_search = " and $st like '%$sv%' ";
|
||||
else
|
||||
|
||||
@@ -8,6 +8,10 @@ $colspan = 10;
|
||||
$st = isset($st) ? strip_tags($st) : '';
|
||||
$ssv = isset($ssv) ? strip_tags($ssv) : '';
|
||||
|
||||
if( $st && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){
|
||||
$st = '';
|
||||
}
|
||||
|
||||
auth_check($auth[$sub_menu], "r");
|
||||
|
||||
$g5['title'] = "문자전송 상세내역";
|
||||
|
||||
@@ -31,8 +31,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
|
||||
<form name="fboardmoveall" method="post" action="./number_move_update.php" onsubmit="return fboardmoveall_submit(this);">
|
||||
<input type="hidden" name="sw" value="<?php echo $sw ?>">
|
||||
<input type="hidden" name="bk_no_list" value="<?php echo $bk_no_list ?>">
|
||||
<input type="hidden" name="act" value="<?php echo $act ?>">
|
||||
<input type="hidden" name="bk_no_list" value="<?php echo get_sanitize_input($bk_no_list); ?>">
|
||||
<input type="hidden" name="act" value="<?php echo get_sanitize_input($act); ?>">
|
||||
<input type="hidden" name="url" value="<?php echo clean_xss_tags(strip_tags($_SERVER['HTTP_REFERER'])); ?>">
|
||||
<div class=" new_win_con">
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
|
||||
@@ -12,6 +12,9 @@ $is_hp_exist = false;
|
||||
|
||||
$bk_hp = get_hp($bk_hp);
|
||||
|
||||
$bk_memo = strip_tags($bk_memo);
|
||||
$bk_name = strip_tags($bk_name);
|
||||
|
||||
if ($w=='u') // 업데이트
|
||||
{
|
||||
if (!$bg_no) $bg_no = 0;
|
||||
@@ -21,8 +24,6 @@ if ($w=='u') // 업데이트
|
||||
if (!strlen(trim($bk_name)))
|
||||
alert('이름을 입력해주세요');
|
||||
|
||||
$bk_name = strip_tags($bk_name);
|
||||
|
||||
if ($bk_hp == '')
|
||||
alert('휴대폰번호만 입력 가능합니다.');
|
||||
/*
|
||||
@@ -48,7 +49,7 @@ if ($w=='u') // 업데이트
|
||||
sql_query("update {$g5['sms5_book_group_table']} set bg_receipt = bg_receipt - 1, bg_reject = bg_reject + 1 where bg_no='$bg_no'");
|
||||
}
|
||||
|
||||
sql_query("update {$g5['sms5_book_table']} set bg_no='$bg_no', bk_name='$bk_name', bk_hp='$bk_hp', bk_receipt='$bk_receipt', bk_datetime='".G5_TIME_YMDHIS."', bk_memo='".addslashes($bk_memo)."' where bk_no='$bk_no'");
|
||||
sql_query("update {$g5['sms5_book_table']} set bg_no='$bg_no', bk_name='".addslashes($bk_name)."', bk_hp='$bk_hp', bk_receipt='$bk_receipt', bk_datetime='".G5_TIME_YMDHIS."', bk_memo='".addslashes($bk_memo)."' where bk_no='$bk_no'");
|
||||
if ($res['mb_id']){ //만약에 mb_id가 있다면...
|
||||
// 휴대폰번호 중복체크
|
||||
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$res['mb_id']}' and mb_hp = '{$bk_hp}' ";
|
||||
|
||||
@@ -121,7 +121,7 @@ include_once(G5_ADMIN_PATH."/admin.head.php");
|
||||
<tr>
|
||||
<th scope="row"><label for="bk_memo">메모</label></th>
|
||||
<td>
|
||||
<textarea name="bk_memo" id="bk_memo"><?php echo $write['bk_memo']?></textarea>
|
||||
<textarea name="bk_memo" id="bk_memo"><?php echo html_purifier($write['bk_memo']); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -6,6 +6,8 @@ auth_check($auth[$sub_menu], "r");
|
||||
if(!count($_POST['chk_bg_no']))
|
||||
alert('번호를 '.$act.'할 그룹을 한개 이상 선택해 주십시오.', $url);
|
||||
|
||||
$bk_no_list = preg_replace('/[^a-zA-Z0-9\, ]/', '', $bk_no_list);
|
||||
|
||||
$sql = "select * from {$g5['sms5_book_table']} where bk_no in ($bk_no_list) order by bk_no desc ";
|
||||
$result = sql_query($sql);
|
||||
$save = array();
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ history.back();
|
||||
<?php
|
||||
foreach($_POST as $key => $value) {
|
||||
|
||||
$key = clean_xss_tags($url);
|
||||
$key = clean_xss_tags($key);
|
||||
$value = clean_xss_tags($value);
|
||||
|
||||
if(strlen($value) < 1)
|
||||
|
||||
@@ -60,7 +60,7 @@ for ($i=0; $i<count($member_list['id']); $i++) {
|
||||
$recv_mb_nick = get_text($member_list['nick'][$i]);
|
||||
|
||||
// 쪽지 INSERT
|
||||
$sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo ) values ( '$me_id', '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}' ) ";
|
||||
$sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime ) values ( '$me_id', '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00' ) ";
|
||||
sql_query($sql);
|
||||
|
||||
// 실시간 쪽지 알림 기능
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ while ($row = sql_fetch_array($result))
|
||||
// 제이프로님 코드제안 적용
|
||||
$copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file'];
|
||||
@copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
|
||||
@chmod($dst_dir/$row3['bf_file'], G5_FILE_PERMISSION);
|
||||
@chmod($dst_dir.'/'.$row3['bf_file'], G5_FILE_PERMISSION);
|
||||
}
|
||||
|
||||
$sql = " insert into {$g5['board_file_table']}
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ $member = array();
|
||||
$board = array();
|
||||
$group = array();
|
||||
$g5 = array();
|
||||
|
||||
$qaconfig = array();
|
||||
|
||||
//==============================================================================
|
||||
// 공통
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.3.2.2');
|
||||
define('G5_GNUBOARD_VER', '5.3.2.5');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
+6
-3
@@ -288,6 +288,7 @@ function get_file($bo_table, $wr_id)
|
||||
while ($row = sql_fetch_array($result))
|
||||
{
|
||||
$no = $row['bf_no'];
|
||||
$bf_content = $row['bf_content'] ? html_purifier($row['bf_content']) : '';
|
||||
$file[$no]['href'] = G5_BBS_URL."/download.php?bo_table=$bo_table&wr_id=$wr_id&no=$no" . $qstr;
|
||||
$file[$no]['download'] = $row['bf_download'];
|
||||
// 4.00.11 - 파일 path 추가
|
||||
@@ -295,8 +296,8 @@ function get_file($bo_table, $wr_id)
|
||||
$file[$no]['size'] = get_filesize($row['bf_filesize']);
|
||||
$file[$no]['datetime'] = $row['bf_datetime'];
|
||||
$file[$no]['source'] = addslashes($row['bf_source']);
|
||||
$file[$no]['bf_content'] = $row['bf_content'];
|
||||
$file[$no]['content'] = get_text($row['bf_content']);
|
||||
$file[$no]['bf_content'] = $bf_content;
|
||||
$file[$no]['content'] = get_text($bf_content);
|
||||
//$file[$no]['view'] = view_file_link($row['bf_file'], $file[$no]['content']);
|
||||
$file[$no]['view'] = view_file_link($row['bf_file'], $row['bf_width'], $row['bf_height'], $file[$no]['content']);
|
||||
$file[$no]['file'] = $row['bf_file'];
|
||||
@@ -3489,8 +3490,10 @@ function is_include_path_check($path='', $is_input='')
|
||||
{
|
||||
if( $path ){
|
||||
if ($is_input){
|
||||
// 장태진 @jtjisgod <jtjisgod@gmail.com> 추가
|
||||
// 보안 목적 : rar wrapper 차단
|
||||
|
||||
if( stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false ){
|
||||
if( stripos($path, 'rar:') !== false || stripos($path, 'php:') !== false || stripos($path, 'zlib:') !== false || stripos($path, 'bzip2:') !== false || stripos($path, 'zip:') !== false || stripos($path, 'data:') !== false || stripos($path, 'phar:') !== false ){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+20
-18
@@ -25,29 +25,31 @@ function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_
|
||||
$matches = get_editor_image($write['wr_content'], false);
|
||||
$edt = true;
|
||||
|
||||
for($i=0; $i<count($matches[1]); $i++)
|
||||
{
|
||||
// 이미지 path 구함
|
||||
$p = parse_url($matches[1][$i]);
|
||||
if(strpos($p['path'], '/'.G5_DATA_DIR.'/') != 0)
|
||||
$data_path = preg_replace('/^\/.*\/'.G5_DATA_DIR.'/', '/'.G5_DATA_DIR, $p['path']);
|
||||
else
|
||||
$data_path = $p['path'];
|
||||
if(isset($matches[1]) && is_array($matches[1])){
|
||||
for($i=0; $i<count($matches[1]); $i++)
|
||||
{
|
||||
// 이미지 path 구함
|
||||
$p = parse_url($matches[1][$i]);
|
||||
if(strpos($p['path'], '/'.G5_DATA_DIR.'/') != 0)
|
||||
$data_path = preg_replace('/^\/.*\/'.G5_DATA_DIR.'/', '/'.G5_DATA_DIR, $p['path']);
|
||||
else
|
||||
$data_path = $p['path'];
|
||||
|
||||
$srcfile = G5_PATH.$data_path;
|
||||
$srcfile = G5_PATH.$data_path;
|
||||
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $srcfile) && is_file($srcfile)) {
|
||||
$size = @getimagesize($srcfile);
|
||||
if(empty($size))
|
||||
continue;
|
||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $srcfile) && is_file($srcfile)) {
|
||||
$size = @getimagesize($srcfile);
|
||||
if(empty($size))
|
||||
continue;
|
||||
|
||||
$filename = basename($srcfile);
|
||||
$filepath = dirname($srcfile);
|
||||
$filename = basename($srcfile);
|
||||
$filepath = dirname($srcfile);
|
||||
|
||||
preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $matches[0][$i], $malt);
|
||||
$alt = get_text($malt[1]);
|
||||
preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $matches[0][$i], $malt);
|
||||
$alt = get_text($malt[1]);
|
||||
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.ctt_admin {margin:0 5px;text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
@@ -11,4 +11,5 @@ www.microsoft.com/showcase/video.aspx/
|
||||
w.soundcloud.com/
|
||||
www.facebook.com/
|
||||
kakaotv.daum.net/
|
||||
v.afree.ca/
|
||||
v.afree.ca/
|
||||
play-tv.kakao.com/
|
||||
@@ -165,8 +165,8 @@ $_SESSION['lgd_certify'] = $payReqMap;
|
||||
<input type="hidden" name="LGD_ENCODING" value="UTF-8"/>
|
||||
<?php
|
||||
foreach ($payReqMap as $key => $value) {
|
||||
$key = htmlspecialchars(strip_tags($key));
|
||||
$value = htmlspecialchars(strip_tags($value));
|
||||
$key = htmlspecialchars(strip_tags($key), ENT_QUOTES);
|
||||
$value = htmlspecialchars(strip_tags($value), ENT_QUOTES);
|
||||
echo "<input type='hidden' name='$key' id='$key' value='$value'/>".PHP_EOL;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -143,7 +143,7 @@ class XPayClient
|
||||
// log_dir 재설정
|
||||
$this->config["log_dir"] = $home_dir."/log";
|
||||
|
||||
$this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . ".log";
|
||||
$this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . '_' . substr(md5(mt_rand()), 0, 12) . ".log";
|
||||
// make log directory if does not exist
|
||||
if (!file_exists($this->config["log_dir"])) {
|
||||
mkdir($this->config["log_dir"], "0777", true);
|
||||
@@ -604,6 +604,10 @@ class XPayClient
|
||||
|
||||
function Log($msg, $level=LGD_LOG_FATAL)
|
||||
{
|
||||
if( !(defined('LGD_LOG_SAVE') && LGD_LOG_SAVE) ){
|
||||
return;
|
||||
}
|
||||
|
||||
if ($level > $this->config["log_level"])
|
||||
return;
|
||||
$err_msg = date("Y-m-d H:i:s")." [".$this->err_label[$level]."] [".$this->TX_ID."] ".$msg."\n";
|
||||
|
||||
@@ -141,7 +141,7 @@ class XPayClient
|
||||
$array3 = array($mid => $mertkey);
|
||||
$this->config = $array1 + $array2 + $array3;
|
||||
|
||||
$this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . ".log";
|
||||
$this->log_file = $this->config["log_dir"] . "/log_" . date("Ymd") . '_' . substr(md5(mt_rand()), 0, 12) . ".log";
|
||||
// make log directory if does not exist
|
||||
if (!file_exists($this->config["log_dir"])) {
|
||||
mkdir($this->config["log_dir"], "0777", true);
|
||||
@@ -602,6 +602,10 @@ class XPayClient
|
||||
|
||||
function Log($msg, $level=LGD_LOG_FATAL)
|
||||
{
|
||||
if( !(defined('LGD_LOG_SAVE') && LGD_LOG_SAVE) ){
|
||||
return;
|
||||
}
|
||||
|
||||
if ($level > $this->config["log_level"])
|
||||
return;
|
||||
$err_msg = date("Y-m-d H:i:s")." [".$this->err_label[$level]."] [".$this->TX_ID."] ".$msg."\n";
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
.ctt_admin {text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0;line-height:1.6em}
|
||||
#ctt_con img{max-width:100%;height:auto}
|
||||
#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto}
|
||||
.ctt_img {text-align:center}
|
||||
@@ -4,5 +4,6 @@
|
||||
#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.ctt_admin {margin:0 5px;text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto}
|
||||
#ctt_con {padding:10px 0}
|
||||
.ctt_img {text-align:center}
|
||||
@@ -5,5 +5,5 @@
|
||||
.ctt_admin {text-align:right}
|
||||
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ctt_con {padding:10px 0;line-height:1.6em}
|
||||
#ctt_con img{max-width:100%;height:auto}
|
||||
#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto}
|
||||
.ctt_img {text-align:center}
|
||||
Reference in New Issue
Block a user