본문 바로가기

분류 전체보기4

iframe 로그인 유지 안되는 문제 (서브도메인) 어느 웹의 레거시 코드를 고쳐야 할 일이 있었다.iframe으로 같은 도메인의 사이트를 넣었는데 로그인이 풀려있다는 것이었는데 접속 도메인: example.comiframe 링크:  www.example.com  이렇게 세팅되어있었다. 크롬에서 iframe을 사용할때 다른 도메인과의 쿠키, 세션 공유를 보안정책상 허용하지 않는다'www'가 붙은 주소와 안붙은 주소는 보통 같은 메인서비스로 이동시켜주기 때문에 오해할 수 있지만'www'는 서브도메인으로, 브라우저는 이를 다른 도메인으로 인식한다. iframe 링크 주소의 'www'를 제거하는 것으로 해결했다. 2024. 8. 8.
[CesiumJS] Cartesian Cartographc 변환 CesiumJS에서는 Cartesian3와 Cartographic 두 가지 주요 클래스를 사용하여 3차원 좌표와 지리적 좌표를 나타냅니다. 이 두 클래스 사이의 변환은 다음과 같이 수행할 수 있습니다. Cartesian3에서 Cartographic으로 변환 Cartesian3 객체는 3차원 카르테시안 좌표 (X,Y,Z)를 나타냅니다. 이를 지리적 좌표 (경도,위도,높이)(경도,위도,높이)로 변환하려면 Cesium.Cartographic.fromCartesian 함수를 사용할 수 있습니다. var cartesian = new Cesium.Cartesian3(/* x, y, z */); var cartographic = Cesium.Cartographic.fromCartesian(cartesian); Car.. 2024. 1. 24.
Next.js로 크롬 익스텐션 빌드시 CSP에러 Next.js에 익숙해질 겸 크롬 익스텐션에 사용할 웹파일을 Next.js로 빌드해서 정적 파일로 export 했다. 그런데 익스텐션의 default_popup으로 등록한 스크립트가 실행되다가 도중에 멈췄다. 아래는 크롬이 보여준 오류다 크롬 익스텐션에서 "inline script" 에러는 보안 정책 때문에 발생한다. 크롬 익스텐션의 Content Security Policy (CSP)는 기본적으로 인라인 스크립트의 실행을 허용하지 않는다. Next.js가 빌드 과정에서 인라인 스크립트를 생성한것으로 보고 export된 파일을 확인해보았다. 확인해본 결과 13버전에 업데이트 된 `app` 디렉토리 구조를 사용할때 export된 html 하단에 인라인 스크립트가 삽입되는 현상을 확인했다. 최신 업데이트된 .. 2023. 8. 7.
[Next.js] per-page layout을 이용해서 백엔드 socket.io 연결하기 Next.js 를 사용하면서 별도의 백엔드에서 돌아가고 있는 socket.io 웹소켓에 연결을 할 필요가 있었다. const socket = io("https://server-domain.com"); 그런데 각페이지에서 socket 연결을 만들면 페이지 이동 시 socket의 연결이 끊어졌다 다시 재연결하는 문제가 생긴다 이 문제를 해결하기위해 useContext를 이용해보자고 생각했다. lib/socketContext.tsx import { Manager, Socket, io } from "socket.io-client"; interface SocketContextValue { chatSocket: Socket | null; } const SocketContext = createContext({ cha.. 2023. 5. 16.