Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5be739934b | ||
|
|
917b12c2c2 | ||
|
|
b0c2c9cea6 | ||
|
|
b1fc952c76 | ||
|
|
ac5d6a4be7 | ||
|
|
a4d3de3227 | ||
|
|
9834a0962e | ||
|
|
c03fec73b9 | ||
|
|
a7a8f45301 | ||
|
|
3c9f4e05fb | ||
|
|
6d7ac7a6be | ||
|
|
02d816154b | ||
|
|
733bca04c8 | ||
|
|
244a496490 | ||
|
|
c6f28c120c | ||
|
|
12ad5e9cb5 | ||
|
|
0bae2cf182 | ||
|
|
85762d4ed6 | ||
|
|
d7cf0ce39d | ||
|
|
a196c91ed5 | ||
|
|
a069ec6c93 | ||
|
|
2a4300b4b2 | ||
|
|
5048ac79d2 | ||
|
|
43cafe7753 | ||
|
|
c24f37421b | ||
|
|
0d9ecfda21 | ||
|
|
980e65361c | ||
|
|
c0fcd3a1ed | ||
|
|
da26d2d020 | ||
|
|
74a8e668e5 | ||
|
|
215ea45b1f | ||
|
|
f6a8b1bacf | ||
|
|
0abf00d793 |
+13
-1
@@ -355,6 +355,18 @@ function get_admin_token()
|
||||
return $token;
|
||||
}
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
function get_admin_captcha_by($type='get'){
|
||||
|
||||
$captcha_name = 'ss_admin_use_captcha';
|
||||
|
||||
if($type === 'remove'){
|
||||
set_session($captcha_name, '');
|
||||
}
|
||||
|
||||
return get_session($captcha_name);
|
||||
}
|
||||
|
||||
//input value 에서 xss 공격 filter 역할을 함 ( 반드시 input value='' 타입에만 사용할것 )
|
||||
function get_sanitize_input($s, $is_html=false){
|
||||
|
||||
@@ -436,7 +448,7 @@ else if ($is_admin != 'super')
|
||||
}
|
||||
|
||||
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
|
||||
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
|
||||
$admin_key = md5($member['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']);
|
||||
if (get_session('ss_mb_key') !== $admin_key) {
|
||||
|
||||
session_destroy();
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if( isset($_POST['admin_use_captcha']) ){
|
||||
set_session('ss_admin_use_captcha', true);
|
||||
}
|
||||
?>
|
||||
+67
-1
@@ -850,6 +850,22 @@ $pg_anchor = '<ul class="anchor">
|
||||
<label for="chk_all_include_tail">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_content_head">상단 내용</label></th>
|
||||
<td>
|
||||
@@ -1245,7 +1261,7 @@ $pg_anchor = '<ul class="anchor">
|
||||
<div class="btn_fixed_top">
|
||||
<?php if( $bo_table && $w ){ ?>
|
||||
<a href="./board_copy.php?bo_table=<?php echo $board['bo_table']; ?>" id="board_copy" target="win_board_copy" class=" btn_02 btn">게시판복사</a>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $board['bo_table']; ?>'" class=" btn_02 btn">게시판 바로가기</a>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $board['bo_table']; ?>" class=" btn_02 btn">게시판 바로가기</a>
|
||||
<a href="./board_thumbnail_delete.php?bo_table=<?php echo $board['bo_table'].'&'.$qstr;?>" onclick="return delete_confirm2('게시판 썸네일 파일을 삭제하시겠습니까?');" class="btn_02 btn">게시판 썸네일 삭제</a>
|
||||
<?php } ?>
|
||||
<input type="submit" value="확인" class="btn_submi btn btn_01" accesskey="s">
|
||||
@@ -1310,6 +1326,52 @@ function set_point(f) {
|
||||
}
|
||||
}
|
||||
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var bo_include_head = "<?php echo $board['bo_include_head']; ?>";
|
||||
var bo_include_tail = "<?php echo $board['bo_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#bo_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#bo_include_tail").val());
|
||||
|
||||
if(bo_include_head !== head || bo_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#bo_include_head, #bo_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function fboardform_submit(f)
|
||||
{
|
||||
<?php echo get_editor_js("bo_content_head"); ?>
|
||||
@@ -1329,6 +1391,10 @@ function fboardform_submit(f)
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo isset($captcha_js) ? $captcha_js : ''; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
+24
-12
@@ -14,32 +14,41 @@ if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
|
||||
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
|
||||
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
|
||||
|
||||
$_POST['bo_include_head'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_head'], 0, 255));
|
||||
$_POST['bo_include_tail'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_tail'], 0, 255));
|
||||
$bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255));
|
||||
$bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255));
|
||||
|
||||
if ($file = $_POST['bo_include_head']) {
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if ($board && ($board['bo_include_head'] !== $bo_include_head || $board['bo_include_tail'] !== $bo_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($file = $bo_include_head) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_head'] = $file;
|
||||
}
|
||||
|
||||
if ($file = $_POST['bo_include_tail']) {
|
||||
if ($file = $bo_include_tail) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_tail'] = $file;
|
||||
}
|
||||
|
||||
if(!is_include_path_check($_POST['bo_include_head'], 1)) {
|
||||
if(!is_include_path_check($bo_include_head, 1)) {
|
||||
alert('상단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
if(!is_include_path_check($_POST['bo_include_tail'], 1)) {
|
||||
if(!is_include_path_check($bo_include_tail, 1)) {
|
||||
alert('하단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
@@ -116,8 +125,8 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
|
||||
// 최고 관리자인 경우에만 수정가능
|
||||
if ($is_admin === 'super'){
|
||||
$sql_common .= " bo_include_head = '{$_POST['bo_include_head']}',
|
||||
bo_include_tail = '{$_POST['bo_include_tail']}',
|
||||
$sql_common .= " bo_include_head = '".$bo_include_head."',
|
||||
bo_include_tail = '".$bo_include_tail."',
|
||||
bo_content_head = '{$_POST['bo_content_head']}',
|
||||
bo_content_tail = '{$_POST['bo_content_tail']}',
|
||||
bo_mobile_content_head = '{$_POST['bo_mobile_content_head']}',
|
||||
@@ -426,5 +435,8 @@ if ($all_fields) {
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
goto_url("./board_form.php?w=u&bo_table={$bo_table}&{$qstr}");
|
||||
?>
|
||||
|
||||
@@ -12,7 +12,7 @@ $sound_only = '';
|
||||
if ($w == '') {
|
||||
$gr_id_attr = 'required';
|
||||
$sound_only = '<strong class="sound_only"> 필수</strong>';
|
||||
$gr['gr_use_access'] = 0;
|
||||
$gr = array('gr_use_access' => 0);
|
||||
$html_title .= ' 생성';
|
||||
} else if ($w == 'u') {
|
||||
$gr_id_attr = 'readonly';
|
||||
|
||||
@@ -16,7 +16,9 @@ if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
|
||||
|
||||
if (!$gr_subject) alert('그룹 제목을 입력하세요.');
|
||||
|
||||
$sql_common = " gr_subject = '{$_POST['gr_subject']}',
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags($_POST['gr_subject']) : '';
|
||||
|
||||
$sql_common = " gr_subject = '{$gr_subject}',
|
||||
gr_device = '{$_POST['gr_device']}',
|
||||
gr_admin = '{$_POST['gr_admin']}',
|
||||
gr_1_subj = '{$_POST['gr_1_subj']}',
|
||||
|
||||
@@ -19,10 +19,11 @@ for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = $_POST['group_id'][$k];
|
||||
$gr_subject = strip_tags($_POST['gr_subject'][$k]);
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
set gr_subject = '{$_POST['gr_subject'][$k]}',
|
||||
set gr_subject = '{$gr_subject}',
|
||||
gr_device = '{$_POST['gr_device'][$k]}',
|
||||
gr_admin = '{$_POST['gr_admin'][$k]}',
|
||||
gr_use_access = '{$_POST['gr_use_access'][$k]}',
|
||||
|
||||
+75
-3
@@ -49,9 +49,11 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$co['co_html'] = 2;
|
||||
$co['co_skin'] = 'basic';
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
$co = array(
|
||||
'co_html' => 2,
|
||||
'co_skin' => 'basic',
|
||||
'co_mobile_skin' => 'basic'
|
||||
);
|
||||
}
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
@@ -126,6 +128,22 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<input type="text" name="co_include_tail" value="<?php echo $co['co_include_tail']; ?>" id="co_include_tail" class="frm_input" size="60">
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_himg">상단이미지</label></th>
|
||||
<td>
|
||||
@@ -185,7 +203,56 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
</form>
|
||||
|
||||
<?php
|
||||
// [KVE-2018-2089] 취약점 으로 인해 파일 경로 수정시에만 자동등록방지 코드 사용
|
||||
?>
|
||||
<script>
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var co_include_head = "<?php echo $co['co_include_head']; ?>";
|
||||
var co_include_tail = "<?php echo $co['co_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#co_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#co_include_tail").val());
|
||||
|
||||
if(co_include_head !== head || co_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#co_include_head, #co_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function frmcontentform_check(f)
|
||||
{
|
||||
errmsg = "";
|
||||
@@ -204,6 +271,11 @@ function frmcontentform_check(f)
|
||||
errfld.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
+35
-13
@@ -12,6 +12,27 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$co_row = sql_fetch($sql);
|
||||
}
|
||||
|
||||
$co_subject = strip_tags($co_subject);
|
||||
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
|
||||
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if (($co_row['co_include_head'] !== $co_include_head || $co_row['co_include_tail'] !== $co_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@mkdir(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
@chmod(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
|
||||
@@ -21,18 +42,20 @@ if ($co_timg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_t");
|
||||
$error_msg = '';
|
||||
|
||||
if( $co_include_head ){
|
||||
$purl = parse_url($co_include_head);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
|
||||
$file_ext = pathinfo($co_include_head, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_head) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $co_include_tail ){
|
||||
$purl = parse_url($co_include_tail);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
|
||||
$file_ext = pathinfo($co_include_tail, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_tail) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,11 +81,7 @@ $sql_common = " co_include_head = '$co_include_head',
|
||||
|
||||
if ($w == "")
|
||||
{
|
||||
//if(eregi("[^a-z0-9_]", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select co_id from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
$row = $co_row;
|
||||
if ($row['co_id'])
|
||||
alert("이미 같은 ID로 등록된 내용이 있습니다.");
|
||||
|
||||
@@ -87,6 +106,9 @@ else if ($w == "d")
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if ($_FILES['co_himg']['name'])
|
||||
|
||||
@@ -685,6 +685,15 @@ box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);}
|
||||
.sevice_2 .svc_design{overflow:hidden;height:210px;position:relative}
|
||||
.sevice_2 .svc_design .svc_btn a{margin:0 0 20px}
|
||||
|
||||
/* 캡챠 */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
/*테마*/
|
||||
.theme_p{margin:0 0 10px }
|
||||
#theme_list{padding:0;margin:0;list-style:none; width: 1000px;position:relative}
|
||||
|
||||
@@ -5,6 +5,9 @@ include_once(G5_EDITOR_LIB);
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
$fa_id = isset($fa_id) ? (int) $fa_id : 0;
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
$fm = sql_fetch($sql);
|
||||
|
||||
|
||||
+7
-1
@@ -5,7 +5,13 @@ include_once('./_common.php');
|
||||
auth_check($auth[$sub_menu], "r");
|
||||
|
||||
$g5['title'] = 'FAQ 상세관리';
|
||||
if ($fm_subject) $g5['title'] .= ' : '.$fm_subject;
|
||||
if ($fm_subject){
|
||||
$fm_subject = clean_xss_tags(strip_tags($fm_subject));
|
||||
$g5['title'] .= ' : '.$fm_subject;
|
||||
}
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
|
||||
@@ -21,6 +21,7 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$fm = array();
|
||||
}
|
||||
|
||||
$g5['title'] = $html_title.' 관리';
|
||||
|
||||
@@ -18,6 +18,8 @@ check_admin_token();
|
||||
if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h");
|
||||
if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t");
|
||||
|
||||
$fm_subject = strip_tags($fm_subject);
|
||||
|
||||
$sql_common = " set fm_subject = '$fm_subject',
|
||||
fm_head_html = '$fm_head_html',
|
||||
fm_tail_html = '$fm_tail_html',
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<tr>
|
||||
<th scope="row"><label for="nw_subject">팝업 제목<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="nw_subject" value="<?php echo stripslashes($nw['nw_subject']) ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
<input type="text" name="nw_subject" value="<?php echo get_sanitize_input($nw['nw_subject']); ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -12,6 +12,8 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$nw_subject = isset($_POST['nw_subject']) ? strip_tags($_POST['nw_subject']) : '';
|
||||
|
||||
$sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_begin_time = '{$_POST['nw_begin_time']}',
|
||||
nw_end_time = '{$_POST['nw_end_time']}',
|
||||
@@ -20,7 +22,7 @@ $sql_common = " nw_device = '{$_POST['nw_device']}',
|
||||
nw_top = '{$_POST['nw_top']}',
|
||||
nw_height = '{$_POST['nw_height']}',
|
||||
nw_width = '{$_POST['nw_width']}',
|
||||
nw_subject = '{$_POST['nw_subject']}',
|
||||
nw_subject = '{$nw_subject}',
|
||||
nw_content = '{$_POST['nw_content']}',
|
||||
nw_content_html = '{$_POST['nw_content_html']}' ";
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$mb_id = $_POST['mb_id'];
|
||||
$po_point = $_POST['po_point'];
|
||||
$po_content = $_POST['po_content'];
|
||||
$mb_id = strip_tags($_POST['mb_id']);
|
||||
$po_point = strip_tags($_POST['po_point']);
|
||||
$po_content = strip_tags($_POST['po_content']);
|
||||
$expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']);
|
||||
|
||||
$mb = get_member($mb_id);
|
||||
|
||||
@@ -7,7 +7,7 @@ auth_check($auth[$sub_menu], 'r');
|
||||
// 체크된 자료 삭제
|
||||
if (isset($_POST['chk']) && is_array($_POST['chk'])) {
|
||||
for ($i=0; $i<count($_POST['chk']); $i++) {
|
||||
$pp_id = $_POST['chk'][$i];
|
||||
$pp_id = (int) $_POST['chk'][$i];
|
||||
|
||||
sql_query(" delete from {$g5['popular_table']} where pp_id = '$pp_id' ", true);
|
||||
}
|
||||
|
||||
@@ -263,6 +263,22 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
<input type="text" name="qa_include_tail" value="<?php echo $qaconfig['qa_include_tail'] ?>" id="qa_include_tail" class="frm_input" size="50">
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="qa_content_head">상단 내용</label></th>
|
||||
<td>
|
||||
@@ -316,6 +332,53 @@ if(!isset($qaconfig['qa_include_head'])) {
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var qa_include_head = "<?php echo $qaconfig['qa_include_head']; ?>";
|
||||
var qa_include_tail = "<?php echo $qaconfig['qa_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#qa_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#qa_include_tail").val());
|
||||
|
||||
if(qa_include_head !== head || qa_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#qa_include_head, #qa_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function fqaconfigform_submit(f)
|
||||
{
|
||||
<?php echo get_editor_js("qa_content_head"); ?>
|
||||
@@ -323,6 +386,10 @@ function fqaconfigform_submit(f)
|
||||
<?php echo get_editor_js("qa_mobile_content_head"); ?>
|
||||
<?php echo get_editor_js("qa_mobile_content_tail"); ?>
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo isset($captcha_js) ? $captcha_js : ''; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
f.action = "./qa_config_update.php";
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -10,19 +10,33 @@ check_admin_token();
|
||||
|
||||
$error_msg = '';
|
||||
|
||||
$qaconfig = get_qa_config();
|
||||
|
||||
$qa_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_head, 0, 255));
|
||||
$qa_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_tail, 0, 255));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if ($board && ($qaconfig['qa_include_head'] !== $qa_include_head || $qaconfig['qa_include_tail'] !== $qa_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $qa_include_head ){
|
||||
$file_ext = pathinfo($qa_include_head, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $qa_include_head) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $qa_include_tail ){
|
||||
$file_ext = pathinfo($qa_include_tail, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $qa_include_tail) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,6 +89,9 @@ $sql = " update {$g5['qa_config_table']}
|
||||
qa_5 = '{$_POST['qa_5']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
if($error_msg){
|
||||
alert($error_msg, './qa_config.php');
|
||||
} else {
|
||||
|
||||
@@ -13,6 +13,8 @@ $g5['title'] = "이모티콘 관리";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
$fg_no = isset($fg_no) ? (int) $fg_no : '';
|
||||
|
||||
if (is_numeric($fg_no))
|
||||
$sql_group = " and fg_no='$fg_no' ";
|
||||
else
|
||||
|
||||
@@ -4,7 +4,7 @@ include_once("./_common.php");
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
check_token();
|
||||
check_admin_token();
|
||||
|
||||
if($atype == "del"){
|
||||
$count = count($_POST['fo_no']);
|
||||
@@ -14,7 +14,7 @@ if($atype == "del"){
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
// 실제 번호를 넘김
|
||||
$fo_no = $_POST['fo_no'][$i];
|
||||
$fo_no = (int) $_POST['fo_no'][$i];
|
||||
if (!trim($fo_no)) continue;
|
||||
|
||||
$res = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'");
|
||||
|
||||
@@ -27,7 +27,7 @@ $vnum = $total_count - (($page-1) * $page_size);
|
||||
include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
?>
|
||||
|
||||
<form name="search_form" method="get" action="<?echo $_SERVER['SCRIPT_NAME']?>" class="local_sch01 local_sch" >
|
||||
<form name="search_form" method="get" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" class="local_sch01 local_sch" >
|
||||
<label for="st" class="sound_only">검색대상</label>
|
||||
<select name="st" id="st">
|
||||
<option value="hs_name"<?php echo get_selected('hs_name', $st); ?>>이름</option>
|
||||
|
||||
@@ -13,6 +13,9 @@ $g5['title'] = "휴대폰번호 관리";
|
||||
|
||||
if ($page < 1) $page = 1;
|
||||
|
||||
$bg_no = isset($bg_no) ? (int) $bg_no : 0;
|
||||
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
|
||||
|
||||
if (is_numeric($bg_no))
|
||||
$sql_group = " and bg_no='$bg_no' ";
|
||||
else
|
||||
|
||||
@@ -21,6 +21,8 @@ if ($w=='u') // 업데이트
|
||||
if (!strlen(trim($bk_name)))
|
||||
alert('이름을 입력해주세요');
|
||||
|
||||
$bk_name = strip_tags($bk_name);
|
||||
|
||||
if ($bk_hp == '')
|
||||
alert('휴대폰번호만 입력 가능합니다.');
|
||||
/*
|
||||
|
||||
@@ -30,7 +30,7 @@ if ($w == 'u' && is_numeric($bk_no)) {
|
||||
$g5['title'] .= '수정';
|
||||
}
|
||||
else {
|
||||
$write['bg_no'] = $bg_no;
|
||||
$write = array('bg_no' => (int) $bg_no);
|
||||
$g5['title'] .= '추가';
|
||||
}
|
||||
|
||||
@@ -43,12 +43,12 @@ include_once(G5_ADMIN_PATH."/admin.head.php");
|
||||
?>
|
||||
|
||||
<form name="book_form" id="book_form" method="post" action="./num_book_update.php">
|
||||
<input type="hidden" name="w" value="<?php echo $w?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page?>">
|
||||
<input type="hidden" name="ap" value="<?php echo $ap?>">
|
||||
<input type="hidden" name="w" value="<?php echo get_sanitize_input($w); ?>">
|
||||
<input type="hidden" name="page" value="<?php echo get_sanitize_input($page); ?>">
|
||||
<input type="hidden" name="ap" value="<?php echo get_sanitize_input($ap); ?>">
|
||||
<input type="hidden" name="bk_no" value="<?php echo $write['bk_no']?>">
|
||||
<input type="hidden" name="mb_id" id="mb_id" value="<?php echo $write['mb_id']?>">
|
||||
<input type="hidden" name="get_bg_no" value="<?php echo $bg_no?>">
|
||||
<input type="hidden" name="get_bg_no" value="<?php echo get_sanitize_input($bg_no); ?>">
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
@@ -74,7 +74,7 @@ include_once(G5_ADMIN_PATH."/admin.head.php");
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bk_name">이름<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td><input type="text" name="bk_name" id="bk_name" maxlength="50" value="<?php echo $write['bk_name']?>" required class="frm_input required"></td>
|
||||
<td><input type="text" name="bk_name" id="bk_name" maxlength="50" value="<?php echo get_sanitize_input($write['bk_name']); ?>" required class="frm_input required"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bk_hp">휴대폰번호<strong class="sound_only"> 필수</strong></label></th>
|
||||
@@ -187,14 +187,12 @@ function book_submit(){
|
||||
if($check_msg.size()> 0)
|
||||
$check_msg.remove();
|
||||
|
||||
// $("#exist_msg").text("<?php echo $exist_msg_2; ?>");
|
||||
is_submit = true;
|
||||
} else {
|
||||
if($check_msg.size() < 1)
|
||||
$("input#bk_hp").after("<div id=\"hp_check_el\"><h3>이 번호를 쓰는 회원 정보</h3><ul></ul></div>");
|
||||
|
||||
$("#hp_check_el").find("ul").html( list_text );
|
||||
// $("#exist_msg").html("<?php echo $exist_msg_1 ?>");
|
||||
|
||||
if(confirm("회원 정보에 중복 휴대폰 번호가 있습니다.수정하실 경우 회원정보에 반영되지 않습니다.\n수정하시겠습니까?"))
|
||||
is_submit = true;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
// 코멘트 삭제
|
||||
include_once('./_common.php');
|
||||
|
||||
$comment_id = (int) $comment_id;
|
||||
|
||||
$delete_comment_token = get_session('ss_delete_comment_'.$comment_id.'_token');
|
||||
set_session('ss_delete_comment_'.$comment_id.'_token', '');
|
||||
|
||||
|
||||
+9
-2
@@ -67,11 +67,18 @@ if (!get_session($ss_name))
|
||||
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
|
||||
}
|
||||
|
||||
set_session($ss_name, TRUE);
|
||||
}
|
||||
|
||||
// 이미 다운로드 받은 파일인지를 검사한 후 다운로드 카운트 증가 ( SIR 그누위즈 님 코드 제안 )
|
||||
$ss_name = 'ss_down_'.$bo_table.'_'.$wr_id.'_'.$no;
|
||||
if (!get_session($ss_name))
|
||||
{
|
||||
// 다운로드 카운트 증가
|
||||
$sql = " update {$g5['board_file_table']} set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
|
||||
sql_query($sql);
|
||||
|
||||
set_session($ss_name, TRUE);
|
||||
// 다운로드 카운트를 증가시키고 세션을 생성
|
||||
$_SESSION[$ss_name] = true;
|
||||
}
|
||||
|
||||
$g5['title'] = '다운로드 > '.conv_subject($write['wr_subject'], 255);
|
||||
|
||||
@@ -12,14 +12,13 @@ if (!$is_member && $config['cf_formmail_is_member'])
|
||||
$email_enc = new str_encrypt();
|
||||
$to = $email_enc->decrypt($to);
|
||||
|
||||
if (substr_count($to, "@") > 1)
|
||||
alert_close('한번에 한사람에게만 메일을 발송할 수 있습니다.');
|
||||
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
|
||||
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $to)){
|
||||
alert_close('E-mail 주소가 형식에 맞지 않아서, 메일을 보낼수 없습니다.');
|
||||
}
|
||||
|
||||
$file = array();
|
||||
for ($i=1; $i<=$attach; $i++) {
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ if ( is_use_email_certify() && !preg_match("/[1-9]/", $mb['mb_email_certify']))
|
||||
// 회원아이디 세션 생성
|
||||
set_session('ss_mb_id', $mb['mb_id']);
|
||||
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
|
||||
set_session('ss_mb_key', md5($mb['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));
|
||||
set_session('ss_mb_key', md5($mb['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']));
|
||||
|
||||
// 포인트 체크
|
||||
if($config['cf_use_point']) {
|
||||
@@ -72,7 +72,7 @@ if ($auto_login) {
|
||||
// 3.27
|
||||
// 자동로그인 ---------------------------
|
||||
// 쿠키 한달간 저장
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $mb['mb_password']);
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $mb['mb_password']);
|
||||
set_cookie('ck_mb_id', $mb['mb_id'], 86400 * 31);
|
||||
set_cookie('ck_auto', $key, 86400 * 31);
|
||||
// 자동로그인 end ---------------------------
|
||||
|
||||
@@ -24,6 +24,10 @@ $url = clean_xss_tags($_GET['url']);
|
||||
// url 체크
|
||||
check_url_host($url, '', G5_URL, true);
|
||||
|
||||
if( preg_match('#^/{3,}#', $url) ){
|
||||
$url = preg_replace('#^/{3,}#', '/', $url);
|
||||
}
|
||||
|
||||
$url = get_text($url);
|
||||
|
||||
include_once($member_skin_path.'/member_confirm.skin.php');
|
||||
|
||||
+2
-1
@@ -374,7 +374,7 @@ if ($_SESSION['ss_mb_id']) { // 로그인중이라면
|
||||
$sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if($row['mb_password']){
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
|
||||
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
|
||||
// 쿠키에 저장된 키와 같다면
|
||||
$tmp_key = get_cookie('ck_auto');
|
||||
if ($tmp_key === $key && $tmp_key) {
|
||||
@@ -621,6 +621,7 @@ if(!empty($extend_file) && is_array($extend_file)) {
|
||||
foreach($extend_file as $file) {
|
||||
include_once(G5_EXTEND_PATH.'/'.$file);
|
||||
}
|
||||
unset($file);
|
||||
}
|
||||
unset($extend_file);
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
********************/
|
||||
|
||||
define('G5_VERSION', '그누보드5');
|
||||
define('G5_GNUBOARD_VER', '5.3.1.2');
|
||||
define('G5_GNUBOARD_VER', '5.3.1.6');
|
||||
|
||||
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
|
||||
define('_GNUBOARD_', true);
|
||||
|
||||
+5
-5
@@ -76,7 +76,7 @@ border: 1px solid #558ab7 !important;
|
||||
|
||||
.hd_sch_wr{position:absolute;top:25px;left:50%;width:430px;margin-left:-215px;}
|
||||
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#hd_sch{;border:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden}
|
||||
#hd_sch{border:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden}
|
||||
#hd_sch #sch_stx {padding-left:10px;height:40px;width:376px;border:0;border-right:0;float:left;font-size:1.25em}
|
||||
#hd_sch #sch_submit {height:40px;border:0;background:#fff;color:#253dbe;width:50px;float:left;cursor:pointer;font-size:18px}
|
||||
|
||||
@@ -91,7 +91,7 @@ border: 1px solid #558ab7 !important;
|
||||
#tnb a:focus, #tnb a:hover {color:#253dbe;background:#fafafa}
|
||||
#tnb .tnb_admin a{color:#ff0000;}
|
||||
#tnb .tnb_left{float:left}
|
||||
#tnb .tnb_left a{;padding:0 14px}
|
||||
#tnb .tnb_left a{padding:0 14px}
|
||||
#tnb .tnb_cart{border-right:1px solid #ddd;}
|
||||
#tnb .tnb_community{border-right:1px solid #ddd}
|
||||
#tnb .tnb_community i{font-size:15px}
|
||||
@@ -189,7 +189,7 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ft_wr {margin:0 auto;position:relative;}
|
||||
#ft_link{padding:15px 0;border-bottom:1px solid #eee}
|
||||
#ft_link a{;display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold}
|
||||
#ft_link a{display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold}
|
||||
#ft_catch{margin:20px 0 10px}
|
||||
#ft_copy{color:#555;font-size:0.92em}
|
||||
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
|
||||
@@ -216,8 +216,8 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
+9
-9
@@ -43,8 +43,8 @@ ul,li,dl,dt,dd{list-style:none;padding:0;margin:0}
|
||||
#logo img{vertical-align:middle;max-height:100%;width:auto}
|
||||
#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:30px;width:30px;border:0;background-size:70%;color:#fff;background:none; font-size: 16px;}
|
||||
#gnb {display:none;background:#262626;position:fixed;top:0;left:0;z-index:99999;height:100%;overflow-y:auto;width:300px;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#gnb a {display:block;color:#efefef}
|
||||
@@ -68,8 +68,8 @@ box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:30px;width:30px;border:0;;color:#fff;font-size:16px;background:none;letter-spacing:-0.1em}
|
||||
#user_menu{display:none;position:fixed;top:0;right:0;height:100%;;overflow-y:auto;width:320px;z-index:9999;background:#fff;text-align:center;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
#user_close {display:block;margin:0;height:50px;width:100%;border:0;background:url(../img/mobile/btn_close.png) no-repeat right 50%
|
||||
#222;background-size:25px;color:#fff;text-indent:-999999999px;overflow:hidden}
|
||||
@@ -102,8 +102,8 @@ box-shadow: 0 0 5px rgba(100,100,100,0.2);}
|
||||
#container {position:relative;min-height:300px}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px;line-height:30px;background:#fff;color:#333;
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
}
|
||||
.top{position:relative}
|
||||
@@ -150,8 +150,8 @@ box-shadow: 0 0 5px rgba(100,100,100,0.2);}
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#captcha {position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:3px 0 5px ;font-size:0.95em;letter-spacing:-0.1em}
|
||||
@@ -185,7 +185,7 @@ button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f
|
||||
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
|
||||
.btn_submit {;border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
.btn_submit {border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
fieldset .btn_submit {}
|
||||
|
||||
a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle}
|
||||
|
||||
+14
-1
@@ -343,11 +343,24 @@ var win_memo = function(href) {
|
||||
new_win.focus();
|
||||
}
|
||||
|
||||
/**
|
||||
* 쪽지 창
|
||||
**/
|
||||
var check_goto_new = function(href, event) {
|
||||
if( !(typeof g5_is_mobile != "undefined" && g5_is_mobile) ){
|
||||
if (window.opener && window.opener.document && window.opener.document.getElementById) {
|
||||
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
|
||||
window.open(href);
|
||||
//window.opener.document.location.href = href;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메일 창
|
||||
**/
|
||||
var win_email = function(href) {
|
||||
var new_win = window.open(href, 'win_email', 'left=100,top=100,width=600,height=580,scrollbars=0');
|
||||
var new_win = window.open(href, 'win_email', 'left=100,top=100,width=600,height=580,scrollbars=1');
|
||||
new_win.focus();
|
||||
}
|
||||
|
||||
|
||||
+16
-6
@@ -1,10 +1,20 @@
|
||||
function kakaolink_send(text, url)
|
||||
function kakaolink_send(text, url, image)
|
||||
{
|
||||
if( image === undefined ){
|
||||
image = '';
|
||||
}
|
||||
|
||||
// 카카오톡 링크 버튼을 생성합니다. 처음 한번만 호출하면 됩니다.
|
||||
Kakao.Link.sendTalkLink({
|
||||
webLink : {
|
||||
text: String(text),
|
||||
url: url // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
|
||||
}
|
||||
Kakao.Link.sendDefault({
|
||||
objectType: 'feed',
|
||||
content: {
|
||||
title: String(text),
|
||||
description: url,
|
||||
imageUrl: image,
|
||||
link: {
|
||||
mobileWebUrl: url,
|
||||
webUrl: url // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
+15
-7
@@ -1280,7 +1280,7 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/board.php?bo_table=".$bo_table."&sca=".$sca."&sfl=wr_name,1&stx=".$name."\">이름으로 검색</a>\n";
|
||||
}
|
||||
if($mb_id)
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/new.php?mb_id=".$mb_id."\">전체게시물</a>\n";
|
||||
$str2 .= "<a href=\"".G5_BBS_URL."/new.php?mb_id=".$mb_id."\" class=\"link_new_page\" onclick=\"check_goto_new(this.href, event);\">전체게시물</a>\n";
|
||||
if($is_admin == "super" && $mb_id) {
|
||||
$str2 .= "<a href=\"".G5_ADMIN_URL."/member_form.php?w=u&mb_id=".$mb_id."\" target=\"_blank\">회원정보변경</a>\n";
|
||||
$str2 .= "<a href=\"".G5_ADMIN_URL."/point_list.php?sfl=mb_id&stx=".$mb_id."\" target=\"_blank\">포인트내역</a>\n";
|
||||
@@ -3269,7 +3269,7 @@ class str_encrypt
|
||||
function __construct($salt='')
|
||||
{
|
||||
if(!$salt)
|
||||
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD));
|
||||
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), $_SERVER['SERVER_SOFTWARE'].$_SERVER['DOCUMENT_ROOT']));
|
||||
else
|
||||
$this->salt = $salt;
|
||||
|
||||
@@ -3288,12 +3288,12 @@ class str_encrypt
|
||||
$result .= $char;
|
||||
}
|
||||
|
||||
return base64_encode($result);
|
||||
return strtr(base64_encode($result) , '+/=', '._-');
|
||||
}
|
||||
|
||||
function decrypt($str) {
|
||||
$result = '';
|
||||
$str = base64_decode($str);
|
||||
$str = base64_decode(strtr($str, '._-', '+/='));
|
||||
$length = strlen($str);
|
||||
|
||||
for($i=0; $i<$length; $i++) {
|
||||
@@ -3403,6 +3403,14 @@ function is_use_email_certify(){
|
||||
return $config['cf_use_email_certify'];
|
||||
}
|
||||
|
||||
function get_real_client_ip(){
|
||||
|
||||
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
|
||||
return $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
|
||||
return $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
|
||||
function get_call_func_cache($func, $args=array()){
|
||||
|
||||
static $cache = array();
|
||||
@@ -3430,7 +3438,7 @@ function is_include_path_check($path='', $is_input='')
|
||||
if( $path ){
|
||||
if ($is_input){
|
||||
|
||||
if( strpos($path, 'php://') !== false || strpos($path, 'zlib://') !== false || strpos($path, 'bzip2://') !== false || strpos($path, 'zip://') !== false ){
|
||||
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 ){
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3470,14 +3478,14 @@ function is_include_path_check($path='', $is_input='')
|
||||
return false;
|
||||
}
|
||||
|
||||
if( preg_match('/\/data\/(file|editor)\/[A-Za-z0-9_]{1,20}\//', $path) ){
|
||||
if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', str_replace('\\', '/', $path)) ){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$extension = pathinfo($path, PATHINFO_EXTENSION);
|
||||
|
||||
if($extension && preg_match('/(jpg|jpeg|png|gif|bmp|conf)$/', $extension)) {
|
||||
if($extension && preg_match('/(jpg|jpeg|png|gif|bmp|conf)$/i', $extension)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon"><i class="fa fa-volume-up" aria-hidden="true"></i>공지</strong><?php } ?>
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -153,7 +153,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -103,7 +103,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -153,7 +153,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -9,4 +9,6 @@ play.afreeca.com/
|
||||
v.nate.com/
|
||||
www.microsoft.com/showcase/video.aspx/
|
||||
w.soundcloud.com/
|
||||
www.facebook.com/
|
||||
www.facebook.com/
|
||||
kakaotv.daum.net/
|
||||
v.afree.ca/
|
||||
@@ -4,8 +4,11 @@ include_once('./_common.php');
|
||||
// 금일 인증시도 회수 체크
|
||||
certify_count_check($member['mb_id'], 'hp');
|
||||
|
||||
include_once('./hpcert.config.php');
|
||||
//include_once('./hpcert.config.php');
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 include 로 수정함
|
||||
include('./hpcert.config.php');
|
||||
/**************************************************************************
|
||||
okname 실행
|
||||
**************************************************************************/
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
include_once('./hpcert.config.php');
|
||||
//include_once('./hpcert.config.php');
|
||||
|
||||
// KISA 취약점 내용(KVE-2018-0291) hpcert1.php의 $cmd 함수에 대한 인자 값은 hpcert_config.php 파일에서 설정되나, 이를 다른 페이지에서 포함한 뒤 호출할 시 임의 값 설정 가능
|
||||
// 이에 include_once 를 include 로 수정함
|
||||
include('./hpcert.config.php');
|
||||
/**************************************************************************
|
||||
파일명 : safe_hs_cert3.php
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ $gplus_url = $sns_send.'&sns=gplus';
|
||||
?>
|
||||
|
||||
<?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>
|
||||
<script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
|
||||
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
|
||||
<script src="<?php echo G5_JS_URL; ?>/kakaolink.js"></script>
|
||||
<script>
|
||||
// 사용할 앱의 Javascript 키를 설정해 주세요.
|
||||
|
||||
@@ -118,7 +118,7 @@ class Hybrid_Providers_Naver extends Hybrid_Provider_Model_OAuth2
|
||||
//$this->user->profile->identifier = (array_key_exists('enc_id',$data))?$data['enc_id']:"";
|
||||
$this->user->profile->identifier = (array_key_exists('id',$data))?$data['id']:"";
|
||||
$this->user->profile->age = (array_key_exists('age',$data))?$data['age']:"";
|
||||
$this->user->profile->displayName = '';
|
||||
$this->user->profile->username = (array_key_exists('name', $data)) ? $data['name'] : "";
|
||||
/*
|
||||
if( array_key_exists('email',$data) ){
|
||||
$tmp = explode("@", $data['email']);
|
||||
|
||||
@@ -31,6 +31,7 @@ $user_id = $user_profile->sid ? preg_replace("/[^0-9a-z_]+/i", "", $user_profile
|
||||
$user_id = exist_mb_id_recursive($user_id);
|
||||
$user_nick = exist_mb_nick_recursive($user_nick, '');
|
||||
$is_exists_email = $user_email ? exist_mb_email($user_email, '') : false;
|
||||
$user_name = isset($user_profile->username) ? $user_profile->username : '';
|
||||
|
||||
// 불법접근을 막도록 토큰생성
|
||||
$token = md5(uniqid(rand(), true));
|
||||
|
||||
@@ -114,7 +114,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
|
||||
if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
|
||||
|
||||
@@ -135,7 +135,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -117,7 +117,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt">+ <?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']);
|
||||
|
||||
@@ -250,12 +250,12 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_top {zoom:1}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul ;padding:0;list-style:none;word-break:break-all}
|
||||
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}
|
||||
|
||||
#bo_v_bot {zoom:1}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {;padding:0;list-style:none}
|
||||
#bo_v_bot ul {padding:0;list-style:none}
|
||||
|
||||
.bo_v_com {margin:20px 0;float:right}
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
|
||||
@@ -135,7 +135,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if(isset($view['link'][1]) && $view['link'][1]) { ?>
|
||||
<?php if(array_filter($view['link'])) { ?>
|
||||
<!-- 관련링크 시작 { -->
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#current_connect li.box_clear{clear:both}
|
||||
#current_connect li .inner{position:relative;border:1px solid #d8d8d8;background:#fff;margin-bottom:10px;text-align:center}
|
||||
#current_connect .crt_name {margin:20px 20px 15px;display:block;min-height:88px}
|
||||
#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px}
|
||||
#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px;max-width:100%;height:auto}
|
||||
#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em}
|
||||
#current_connect .crt_lct a{color:#3ca1ff}
|
||||
#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold}
|
||||
|
||||
@@ -200,7 +200,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
</span>
|
||||
|
||||
<?php if ($w == 'u' && file_exists($mb_img_path)) { ?>
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원아이콘">
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원이미지">
|
||||
<input type="checkbox" name="del_mb_img" value="1" id="del_mb_img">
|
||||
<label for="del_mb_img">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
@@ -101,7 +101,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$new_skin_url.'/style.css">', 0);
|
||||
|
||||
<?php if ($is_admin) { ?>
|
||||
<div class="sir_bw02 sir_bw">
|
||||
<button type="submit" onclick="document.pressed=this.value" class="btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button>
|
||||
<button type="submit" onclick="document.pressed=this.title" title="선택삭제" class="btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
|
||||
@@ -23,7 +23,7 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
|
||||
<form id="fregisterform" name="fregisterform" action="<?php echo $register_action_url; ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w; ?>">
|
||||
<input type="hidden" name="url" value="<?php echo $urlencode; ?>">
|
||||
<input type="hidden" name="mb_name" value="<?php echo $user_nick; ?>" >
|
||||
<input type="hidden" name="mb_name" value="<?php echo $user_name ? $user_name : $user_nick ?>" >
|
||||
<input type="hidden" name="provider" value="<?php echo $provider_name;?>" >
|
||||
<input type="hidden" name="action" value="register">
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ border: 1px solid #558ab7 !important;
|
||||
|
||||
.hd_sch_wr{position:absolute;top:25px;left:50%;width:430px;margin-left:-215px;}
|
||||
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#hd_sch{;border:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden}
|
||||
#hd_sch{border:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden}
|
||||
#hd_sch #sch_stx {padding-left:10px;height:40px;width:376px;border:0;border-right:0;float:left;font-size:1.25em}
|
||||
#hd_sch #sch_submit {height:40px;border:0;background:#fff;color:#253dbe;width:50px;float:left;cursor:pointer;font-size:18px}
|
||||
|
||||
@@ -91,7 +91,7 @@ border: 1px solid #558ab7 !important;
|
||||
#tnb a:focus, #tnb a:hover {color:#253dbe;background:#fafafa}
|
||||
#tnb .tnb_admin a{color:#ff0000;}
|
||||
#tnb .tnb_left{float:left}
|
||||
#tnb .tnb_left a{;padding:0 14px}
|
||||
#tnb .tnb_left a{padding:0 14px}
|
||||
#tnb .tnb_cart{border-right:1px solid #ddd;}
|
||||
#tnb .tnb_community{border-right:1px solid #ddd}
|
||||
#tnb .tnb_community i{font-size:15px}
|
||||
@@ -189,7 +189,7 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ft_wr {margin:0 auto;position:relative;}
|
||||
#ft_link{padding:15px 0;border-bottom:1px solid #eee}
|
||||
#ft_link a{;display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold}
|
||||
#ft_link a{display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold}
|
||||
#ft_catch{margin:20px 0 10px}
|
||||
#ft_copy{color:#555;font-size:0.92em}
|
||||
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
|
||||
@@ -216,8 +216,8 @@ box-shadow: 0 2px 5px rgba(0,0,0,0.2);}
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
@@ -45,8 +45,8 @@ ul{list-style:none;}
|
||||
#logo img{vertical-align:middle;max-height:100%;width:auto}
|
||||
#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:30px;width:30px;border:0;background-size:70%;color:#fff;background:none; font-size: 16px;}
|
||||
#gnb {display:none;background:#262626;position:fixed;top:0;left:0;z-index:99999;height:100%;overflow-y:auto;width:300px;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#gnb a {display:block;color:#efefef}
|
||||
@@ -70,8 +70,8 @@ box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
|
||||
#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:30px;width:30px;border:0;;color:#fff;font-size:16px;background:none;letter-spacing:-0.1em}
|
||||
#user_menu{display:none;position:fixed;top:0;right:0;height:100%;;overflow-y:auto;width:320px;z-index:9999;background:#fff;text-align:center;
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow:0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);}
|
||||
#user_close {display:block;margin:0;height:50px;width:100%;border:0;background:url(../img/mobile/btn_close.png) no-repeat right 50%
|
||||
#222;background-size:25px;color:#fff;text-indent:-999999999px;overflow:hidden}
|
||||
@@ -102,8 +102,8 @@ box-shadow: 0 0 5px rgba(100,100,100,0.2);}
|
||||
#container {position:relative;min-height:300px}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px;line-height:30px;background:#fff;color:#333;
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4));
|
||||
-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
}
|
||||
.top{position:relative}
|
||||
@@ -150,8 +150,8 @@ box-shadow: 0 0 5px rgba(55,55,5,0.4);
|
||||
/* 캡챠 자동등록(입력)방지 기본 -pc */
|
||||
#captcha {position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
|
||||
#captcha #captcha_img {;height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_img {height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0}
|
||||
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px}
|
||||
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
|
||||
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
|
||||
#captcha #captcha_info {display:block;margin:3px 0 5px ;font-size:0.95em;letter-spacing:-0.1em}
|
||||
@@ -188,7 +188,7 @@ a.btn02 {display:inline-block;border:1px solid #3b3c3f;background:#4b545e;color:
|
||||
a.btn02:focus, .btn02:hover {text-decoration:none}
|
||||
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
.btn_submit {;border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
.btn_submit {border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px}
|
||||
fieldset .btn_submit {}
|
||||
a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none}
|
||||
|
||||
@@ -76,7 +76,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon"><i class="fa fa-volume-up" aria-hidden="true"></i>공지</strong><?php } ?>
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -103,7 +103,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
|
||||
@@ -114,7 +114,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
|
||||
if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
|
||||
|
||||
@@ -117,7 +117,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt">+ <?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']);
|
||||
|
||||
@@ -250,12 +250,12 @@ box-shadow: inset 0 2px 5px rgb(33, 135, 202);}
|
||||
#bo_v_top {zoom:1}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul ;padding:0;list-style:none;word-break:break-all}
|
||||
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}
|
||||
|
||||
#bo_v_bot {zoom:1}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {;padding:0;list-style:none}
|
||||
#bo_v_bot ul {padding:0;list-style:none}
|
||||
|
||||
.bo_v_com {margin:20px 0;float:right}
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#current_connect li.box_clear{clear:both}
|
||||
#current_connect li .inner{position:relative;border:1px solid #d8d8d8;background:#fff;margin-bottom:10px;text-align:center}
|
||||
#current_connect .crt_name {margin:20px 20px 15px;display:block;min-height:88px}
|
||||
#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px}
|
||||
#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px;max-width:100%;height:auto}
|
||||
#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em}
|
||||
#current_connect .crt_lct a{color:#3ca1ff}
|
||||
#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold}
|
||||
|
||||
@@ -200,7 +200,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
|
||||
</span>
|
||||
|
||||
<?php if ($w == 'u' && file_exists($mb_img_path)) { ?>
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원아이콘">
|
||||
<img src="<?php echo $mb_img_url ?>" alt="회원이미지">
|
||||
<input type="checkbox" name="del_mb_img" value="1" id="del_mb_img">
|
||||
<label for="del_mb_img">삭제</label>
|
||||
<?php } ?>
|
||||
|
||||
@@ -101,7 +101,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$new_skin_url.'/style.css">', 0);
|
||||
|
||||
<?php if ($is_admin) { ?>
|
||||
<div class="sir_bw02 sir_bw">
|
||||
<button type="submit" onclick="document.pressed=this.value" class="btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button>
|
||||
<button type="submit" onclick="document.pressed=this.title" title="선택삭제" class="btn_b01 btn"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user