[네이버페이] 상품이미지URL 일반프로토콜(http://) 유지호출 채택완료

몇번째 시도인지 모르겠습니다ㅠㅠ

찜등록 쿼리스트링 ITEM_IMAGE, ITEM_THUMB 항목에 전달되는 상품이미지URL 문제가 있습니다.

 

이전 요청드린 상품이미지URL은 접근 확인되었으나, 외 다수 상품의 이미지URL 접근에 실패하고 있어 메일드립니다.

상품이미지 혹은 상품정보XML URL을 일반(http://)으로 요청 시, TLS/SSL(https://)로 Redirect 되는 요청 횟수가 많아 접근에 실패하는 것으로 확인됩니다.

또한, 일부 TLS/SSL 인증서의 경우 네이버페이 서비스에서 데이터 수집에 실패할 수 있어 상품이미지와 상품정보XML URL에 대해 일반 프로토콜로 요청 시 TLS/SSL(https://)가 아닌 ​일반프로토콜 (http://)로 유지·호출되도록 수정 부탁드립니다.

 

라는 답변을 받았습니다

 

기존 lib/naverpay.lib.php 파일에서 URL에 http:https://도메인... 으로 중복되는 부분이 있어서

Copy
function get_naverpay_item_image_url($it_id)

{

    global $g5;

 

    $sql = " select it_id, it_img1, it_img2, it_img3, it_img4, it_img5, it_img6, it_img7, it_img8, it_img9, it_img10 from {$g5['g5_shop_item_table']} where it_id = '$it_id' ";

    $row = sql_fetch($sql);

 

    if(!$row['it_id'])

        return '';

 

    $url = '';

 

    for($i=1;$i<=10; $i++) {

        $file = G5_DATA_PATH.'/item/'.$row['it_img'.$i];

        if(is_file($file) && $row['it_img'.$i]) {

            $size = @getimagesize($file);

            if($size[2] < 1 || $size[2] > 3)

                continue;

 

            $url = str_replace(G5_PATH, G5_URL, $file);

 

            //추가한 부분

            $url = preg_replace('#^https:#', 'http:', $url);

 

            //if( isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ){

            //    $url = preg_replace('#^https:#', '', $url);

            //    

            //    $port_str = ':'.$_SERVER['SERVER_PORT'];

            //    

            //    if( strpos($url, $port_str) !== false ){

            //        $url = str_replace($port_str, '', $url);

            //    }

            //}

            

            //TLS(SSL/HTTPS) 프로토콜 사용 시 네이버페이/네이버 쇼핑 서버가 해당 경로로 접근하여 데이터를 취득할 수 없으므로, 반드시 http 를 사용해야 함

            //$url = (preg_match('#^http:#', $url) ? '' : 'http:').$url;

 

            break;

        }

    }

 

    return $url;

}

이렇게 수정했는데 혹시 주석처리한 if부분때문일까요?

if문을 살리고 하단에 $url = preg_replace('#^https:#', 'http:', $url);로 수정하면 될런지요ㅠㅠ

답변 3개

채택된 답변
+20 포인트

리다이렉트가 많다는 거 보니

 

http:// 로 시작하는 도메인주소가 자동으로 https:// 로 변경되는게 설정되어

 

있지 않을까 싶네요

 

그렇다면 저렇게 주소를 바꿔도 https:// 로 다시 접근하기 때문에 리다이렉트가 많다고 하는거 같습니다.

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

답변에 대한 댓글 1개

댓글 감사합니다
혹시 영카트 내에 https로 접근하도록 설정하는 부분이 따로 있나요?

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

영카트 내에는 없을거 같고

 

.htaccess

에서 rewrite 설정되어 있거나

 

아파치 설정중에 rewrite 로 설정되어 있을수 있습니다.

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

답변에 대한 댓글 1개

감사합니다
해당 부분은 제가 알지못하는 부분이라ㅠㅠ
개발자분께 도움을 받아야겠네요ㅜㅜ

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

https 전환하는 과정에서 http로 다시 요청하고 다시 https 요청하고 하는 문제로 보여집니다.

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

답변에 대한 댓글 3개

댓글 감사합니다 요청이 중복되어서 많다는걸까요?ㅠㅠ
페이지 이동이 지금 http로 요청했는데 https로 이동하다보니 계속 페이지 이동이 되고 있는듯 합니다.
감사합니다!
https로 이동하는 구문부터 찾아야겠네요ㅠㅠ

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

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

로그인
🐛 버그신고