안녕하세요 카카오비즈니스 채널 이전 페이지 url불러오는 부분에서 블로그에 넣어 챗팅 링크를 넣으면 full url이 잘 불러와지는데
저희 사이트 채널 채팅 링크를 넣으면 도메인 주소만 가져오고 있습니다 ![:sob: :sob:](https://devtalk.kakao.com/images/emoji/twitter/sob.png?v=12)
카카오 고객센터서는 이전페이지는 설정하는부분이 아니고 자동으로 가져온다고 하는데요.
아닌거 같아요… 분명 차이가 있는거 같은데요 이부분 해결방법 아시는분 도움 부탁드립니다.
원하는건 아래 2번같이 full url이 표시되는 겁니다.
아래 이미지는 블로그에서 채팅상담 눌렀을때 불러오는 이미지입니다. 도움이 절실히 필요해요 ㅠ.ㅡ
예)
- www.abc.com
- www.abc.com /member/ join.php
안녕하세요.
이전페이지는 설정하는 부분이 아닌 웹 브라우저가 전달하는 referer 헤더 값을 기준으로 표기 됩니다.
즉, full url 표기가 필요한 곳에서 채팅하기 기능을 사용하면 됩니다.
정상 동작하시길 원하는 페이지 URL(채팅하기 기능이 붙어 있는 곳) 제공해 주시면 좀 더 자세히 확인해 보겠습니다.
서비스측 구현 방식:
a tag에 채팅URL 입력
리퍼러 정책:
네이버 블로그 : unsafe-url
ㄴ 네이버에서 페이지 응답 헤더로 전달함
괌플레이: strict-origin-when-cross-origin
ㄴ 별다른 설정하지 않아 브라우저의 기본 정책 따름
네이버에서는 unsafe-url
로 응답하기에 해당 페이지에서 referer에는 모든 경로가 전달될 수 있습니다.
때문에 네이버 블로그에서 채팅하기 URL 클릭 시, 모든 주소가 전달되었습니다.
하지만, 서비스에서는 기본 정책(strict-origin-when-cross-origin)에 따르므로 타 도메인 호출 시 리퍼러에 모든 주소가 아닌 도메인 까지만 전달 됩니다.
해결 방법:
JS SDK의 채팅하기를 사용하거나
서비스측 페이지 응답헤더에 Referrer-Policy: unsafe-url
값을 추가하셔야 합니다.
좋은 정보 감사드립니다.
2번째 제안주신 서버측 응답헤더에 Referrer-Policy: unsafe-url
넣은경우 보안에 취약하지는 않는지요?
살짝 걱정이 되네요.
1번째 js sdk는 어떻게 사용하는건지도 궁금합니다. 현재는 채팅url인데, sdk는 설정등으로 가능한건지 아님 프로그램 파일에 코드를 넣는건지요?
크롬의 경우 지난 2020년 부터 보안상 이유로 기본 리퍼러 정책을 기존 no-referrer-when-downgrade
에서 strict-origin-when-cross-origin
로 변경하였습니다.
개인이 접근한 URL이 타 서비스에 노출, 추적 되지 않도록하기 위한 보안 조치로
네이버 블로그 처럼 별다른 이유가 있지 않는한 브라우저에서 기본 제공하는 정책을 따르는게 좋아 보입니다.
JS SDK 는 아래 가이드를 참고 부탁드립니다.
JavaScript | Kakao Developers JavaScript - 카카오톡 채널 채팅하기
너무나도 소중한 정보 감사드립니다. 아무래도 보안에 문제가 생긴다면 큰문제기이 때문에 풀url 보이는건 우선은 포기해야할거같습니다. 오늘도 즐거운 하루 되세요