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

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

qwaszx 4년 전 조회 2,114

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

찜등록 쿼리스트링 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://도메인... 으로 중복되는 부분이 있어서

</p>

<p>function get_naverpay_item_image_url($it_id)</p>

<p>{</p>

<p>    global $g5;</p>

<p> </p>

<p>    $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' ";</p>

<p>    $row = sql_fetch($sql);</p>

<p> </p>

<p>    if(!$row['it_id'])</p>

<p>        return '';</p>

<p> </p>

<p>    $url = '';</p>

<p> </p>

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

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

<p>        if(is_file($file) && $row['it_img'.$i]) {</p>

<p>            $size = @getimagesize($file);</p>

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

<p>                continue;</p>

<p> </p>

<p>            $url = str_replace(G5_PATH, G5_URL, $file);</p>

<p> </p>

<p>            //추가한 부분</p>

<p>            $url = preg_replace('#^https:#', 'http:', $url);</p>

<p> </p>

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

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

<p>            //    </p>

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

<p>            //    </p>

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

<p>            //        $url = str_replace($port_str, '', $url);</p>

<p>            //    }</p>

<p>            //}</p>

<p>            </p>

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

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

<p> </p>

<p>            break;</p>

<p>        }</p>

<p>    }</p>

<p> </p>

<p>    return $url;</p>

<p>}</p>

<p>

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

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

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

답변 3개

채택된 답변
+20 포인트

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

 

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

 

있지 않을까 싶네요

 

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

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

답변에 대한 댓글 1개

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

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

영카트 내에는 없을거 같고

 

.htaccess

에서 rewrite 설정되어 있거나

 

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

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

답변에 대한 댓글 1개

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

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

플라이
4년 전

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

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

답변에 대한 댓글 3개

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

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

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

로그인