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

구글 짧은 주소 https 구분 질문드립니다. 채택완료

무와보 7년 전 조회 2,299

그누에 들어있는 구글 짧은 주소를 잘 사용하고 있습니다.

사용중에 이상한 점이 있어 혹시 아시는 분이 있나 문의드립니다.

보안서버를 사용하면 짧은주소를 https가 아니라 http로 줄여주네요.

 

예를 들어 

https://www.goobeegoobee.com/bbs/board.php?bo_table=guide&wr_id=21">https://www.goobeegoobee.com/bbs/board.php?bo_table=guide&wr_id=21

이 주소를 그누에서 줄이면

https://goo.gl/Czuod1">https://goo.gl/Czuod1

이렇게 줄여지는데요..

이녀석을 오픈 그래프 디버거 (https://developers.facebook.com/tools/debug/">https://developers.facebook.com/tools/debug/) 에서 확인해보면

https로 리다이렉트되는 것이 아니라 http로 리다이렉트 됩니다.

물론 .htaccess에서 http로 오는 것을 https로 리다이렉트시켜놨기 때문에 정상적으로 표기되기는 하는데 왜 이렇게 되는지 찜찜하네요.

 

 

common.lib.php 의 관련 함수 부분은

</p>

<p>// goo.gl 짧은주소 만들기

function googl_short_url($longUrl)

{

    global $config;</p>

<p>    // Get API key from : <a href="http://code.google.com/apis/console/" target="_blank" rel="noopener noreferrer">http://code.google.com/apis/console/</a>

    // URL Shortener API ON

    $apiKey = $config['cf_googl_shorturl_apikey'];</p>

<p>    $postData = array('longUrl' => $longUrl);

    $jsonData = json_encode($postData);</p>

<p>    $curlObj = curl_init();</p>

<p>    curl_setopt($curlObj, CURLOPT_URL, '<a href="https://www.googleapis.com/urlshortener/v1/url?key='.$apiKey);" target="_blank" rel="noopener noreferrer">https://www.googleapis.com/urlshortener/v1/url?key='.$apiKey);</a>

    curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);

    curl_setopt($curlObj, CURLOPT_HEADER, 0);

    curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));

    curl_setopt($curlObj, CURLOPT_POST, 1);

    curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);</p>

<p>    $response = curl_exec($curlObj);</p>

<p>    //change the response json string to object

    $json = json_decode($response);</p>

<p>    curl_close($curlObj);</p>

<p>    return $json->id;

}</p>

<p>

이 부분인데요..

$longUrl 이 부분이 어디에서 오는지 잘 모르겠습니다.

이 부분이 어디서 오는지를 알아야 왜 https가 아니라 http로 나오는지 알 것 같은데 도통 못찾겠습니다.

 

고수님들의 도움이 절실합니다~

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

답변 1개

채택된 답변
+20 포인트
7년 전

$longUrl은 $_SERVER['HTTP_REFERER']와 같은 refer url 입니다.

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

답변에 대한 댓글 3개

무와보
7년 전
답변 감사합니다~
그럼 상식적으로https로 운영하니까 똑같이 https로 넘겨줘야 할 것 같은데
http로 넘어오는게 이상하네요..
혹시 그 이유를 알 수 있을까요?
천사별
7년 전
http 또는 https를 제외한 url 이 넘어오게 됩니다.
사용하는 api가 http를 거치기 때문에 그런것으로 보이며 http로 넘어온걸 다시 https로 받아서 값을 넘겨주거나 아니면 https api를 사용하던지 하셔야 합니다.
무와보
7년 전
늦게라도 답변 다시 달아주셔서 감사합니다.
그누 플러그인의 sns 관련 내용중에
$sns_send = G5_BBS_URL.'/sns_send.php?longurl='.urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
때문에 문제가 생기더군요.
이 부분 https로 고치니 해결되었습니다. ^^

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

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

로그인