테스트 사이트 - 개발 중인 베타 버전입니다

첨부한 최신글 스킨중 서버에 영향을 줄만한 내용이 있을까요? 채택완료

masahide 5년 전 조회 2,001

안녕하세요.

로빈아빠님의 전국 실시간 날씨 최신글 스킨을 사용중입니다.

https://sir.kr/g5_skin/19250?sfl=wr_subject%7C%7Cwr_content&stx=%EB%82%A0%EC%94%A8

스킨 원본 전체 내용은 맨 아래 첨부했습니다.

 

이 스킨을 제게 맞게 수정해서 지금껏 여러 호스팅에서 잘 사용하고 있었는데, 유독 한곳의 호스팅에서만 이 스킨을 사용하지 못하고 있습니다.

 

이 스킨을 사용하면 홈페이지 전체가 계속 로딩중이고  화면이 아예 백지로 열리지 않습니다.

 

제가 생각하기에는 호스팅사 자체에서 서버에 영향을 줄만한 무언가를 차단해 놓은듯 한데, 아마 이 스킨에도 그런 내용이 있는거 같습니다.

그런데 제가 이쪽으로는 잘 모르니 어떤부분인지를 알아야 문의라도 할 수 있을거 같아서요.

 

아시는분 답변 부탁드립니다.

감사합니다.

</p>

<p><?php

/* 작성 로빈아빠 howcode.co.kr 2018-02-17 */</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);</p>

<p>// 많이 사용하는 경우 openweathermap.org 에서  api 키 발급

$g5['weather_key']='ceb339a4c742fc7a9c33dd51a0bdc68c';

$cache_file= G5_DATA_PATH."/cache/latest-{$bo_table}-{$skin_dir}.php";</p>

<p>$arr_info=array(

1=>"맑음"

,2=>"다소흐림"

,3=>"흐림"

,4=>"많이흐림"

,9=>"소나기"

,10=>"비"

,11=>"천둥번개"

,13=>"눈"

,50=>"안개");</p>

<p>//30분에 한번씩 갱신함

if (!isset($_REQUEST['recalc']) && is_file($cache_file) && time()-filemtime($cache_file)<30*60) {

    $arr_data=unserialize(file_get_contents($cache_file));

}

else {

    $arr=explode("\n","

    서해,125.853029,37.271484

    서울,126.975148,37.560961

    춘천,127.165517,37.832336

    강릉,128.896103,37.755562

    울릉,130.839601,37.506399

    충남,126.670660,36.658832

    충북,127.489267,36.635409

    경북,128.750000,36.333328

    전남,126.460730,34.816223

    전북,127.106533,35.820364

    경남,128.250000,35.250000

    제주,126.521942,33.509720

    ");

    $g5['arr_city']=array();

    foreach($arr as $str) {

        $arr2=explode(',',trim($str));

        if ($arr2[1]) $g5['arr_city'][$arr2[0]]=array('lon'=>$arr2[1],'lat'=>$arr2[2]);

    }</p>

<p>

    $arr_data=array();

    foreach($g5['arr_city'] as $city=>$arr) {

        $lat=$arr['lat'];

        $lon=$arr['lon'];

        $url="<a href="http://api.openweathermap.org/data/2.5/weather?lat=$lat&lon=$lon&units=metric&APPID=".$g5['weather_key'];" target="_blank" rel="noopener noreferrer">http://api.openweathermap.org/data/2.5/weather?lat=$lat&lon=$lon&units=metric&APPID=".$g5['weather_key'];</a>

        $w = curl_init($url);

        $weather_options = array(

            CURLOPT_HEADER => false,

            CURLOPT_RETURNTRANSFER => true

            );

        curl_setopt_array($w, $weather_options);

        $a = curl_exec($w);

        curl_close($w);

        if (!isset($a) || ! $a) continue;

        $weather=json_decode($a,true);

        $arr_data[]=array(

             'temp'=>intval($weather['main']['temp'])

            ,'icon'=>$weather['weather'][0]['icon']

        );

        $arr_data['datetime']=date("Y-m-d H:i",$weather['dt']);

    }

    file_put_contents($cache_file,serialize($arr_data));

}

?></p>

<p><div id='ar_weather'>

    <div class='map'>

<?php for($i=0;$i<12;$i++) { ?>

        <div class="zone area<?php echo ($i+1)?>" title="<?php echo $arr_info[intval($arr_data[$i]['icon'])]?>">

            <img src="//openweathermap.org/img/w/<?php echo $arr_data[$i]['icon']?>.png">


            <?php echo $arr_data[$i]['temp']?>

        </div>

<?php } ?>

    </div>

    <div class='info'>

        <?php echo substr($arr_data['datetime'],5)?> (<?php echo get_yoil($arr_data['datetime'])?>) 발표

    </div>

</div>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
플래토
5년 전

호스팅을 사용중이고

영향을 줄만한것이라면

 

</p>

<p>$url="<a href="http://api.openweathermap.org/data/2.5/weather?lat=$lat&lon=$lon&units=metric&APPID=".$g5['weather_key'];" target="_blank" rel="noopener noreferrer">http://api.openweathermap.org/data/2.5/weather?lat=$lat&lon=$lon&units=metric&APPID=".$g5['weather_key'];</a>

        $w = curl_init($url);</p>

<p>

 

이부분이 의심되네요

 

외부 연결하는 curl을 허용하는지 확인해보세요

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
masahide
5년 전
친절하신 답변 감사합니다.
알려주신 내용 참고해서 문의해보겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인