Merge branch 'master' into renewal10

This commit is contained in:
thisgun
2017-08-22 17:04:59 +09:00
6 changed files with 26 additions and 7 deletions
+2 -2
View File
@@ -19,7 +19,7 @@ if (!$co['co_id'])
$g5['title'] = $co['co_subject'];
if (is_include_path_check($co['co_include_head']))
if ($co['co_include_head'] && is_include_path_check($co['co_include_head']))
@include_once($co['co_include_head']);
else
include_once('./_head.php');
@@ -85,7 +85,7 @@ if(is_file($skin_file)) {
echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';
}
if (is_include_path_check($co['co_include_tail']))
if ($co['co_include_tail'] && is_include_path_check($co['co_include_tail']))
@include_once($co['co_include_tail']);
else
include_once('./_tail.php');
+1 -1
View File
@@ -9,7 +9,7 @@ if (G5_IS_MOBILE) {
include_once('./_head.php');
echo conv_content($qaconfig['qa_mobile_content_head'], 1);
} else {
if(is_include_path_check($qaconfig['qa_include_head']))
if($qaconfig['qa_include_head'] && is_include_path_check($qaconfig['qa_include_head']))
@include ($qaconfig['qa_include_head']);
else
include ('./_head.php');
+1 -1
View File
@@ -7,7 +7,7 @@ if (G5_IS_MOBILE) {
include_once('./_tail.php');
} else {
echo conv_content($qaconfig['qa_content_tail'], 1);
if(is_include_path_check($qaconfig['qa_include_tail']))
if($qaconfig['qa_include_tail'] && is_include_path_check($qaconfig['qa_include_tail']))
@include ($qaconfig['qa_include_tail']);
else
include ('./_tail.php');
+1 -1
View File
@@ -5,7 +5,7 @@
********************/
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.2.9');
define('G5_GNUBOARD_VER', '5.2.9.2');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
define('_GNUBOARD_', true);
+2
View File
@@ -459,6 +459,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
onresize : function(size) {
element_wrap.style.height = size.height + "px";
},
maxSuggestItems : g5_is_mobile ? 6 : 10,
width : '100%',
height : '100%'
}).embed(element_wrap);
@@ -494,6 +495,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
// iframe을 넣은 element를 안보이게 한다.
element_layer.style.display = 'none';
},
maxSuggestItems : g5_is_mobile ? 6 : 10,
width : '100%',
height : '100%'
}).embed(element_layer);
+19 -2
View File
@@ -2988,15 +2988,32 @@ function check_url_host($url, $msg='', $return_url=G5_URL)
$p = @parse_url($url);
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
$is_host_check = false;
if(stripos($url, 'http:') !== false) {
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
alert('url 정보가 올바르지 않습니다.', $return_url);
}
if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host'])) {
//php 5.6.29 이하 버전에서는 parse_url 버그가 존재함
if ( (isset($p['host']) && $p['host']) && version_compare(PHP_VERSION, '5.6.29') < 0) {
$bool_ch = false;
foreach( array('user','host') as $key) {
if ( isset( $p[ $key ] ) && strpbrk( $p[ $key ], ':/?#@' ) ) {
$bool_ch = true;
}
}
if( $bool_ch ){
$regex = '/https?\:\/\/'.$host.'/i';
if( ! preg_match($regex, $url) ){
$is_host_check = true;
}
}
}
if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host']) || $is_host_check) {
//if ($p['host'].(isset($p['port']) ? ':'.$p['port'] : '') != $_SERVER['HTTP_HOST']) {
if ($p['host'] != $host) {
if ( ($p['host'] != $host) || $is_host_check ) {
echo '<script>'.PHP_EOL;
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
echo 'document.location.href = "'.$return_url.'";'.PHP_EOL;