반응형
cors 브라우저에서 백엔드에 데이터를 요청할때 아무곳이나 연결이 되면 안되기 때문에 서버의 주소가 다르다고 하면
사전에 미리 브라우저 자체에서 막아 버리는 일종의 보안 방법이다.
처음 cors가 있어서 왜 있는거지 라는 생각이 들면서 (이걸 몰라성...) 백엔드에게 언제 끝나냐 라고 말할때가 있었는데..
뭐 일단은 cors를 해결하는 방법은 많겠지만 내가아는 방법은 딱 2가지이다.
01. 백엔드에서의 허용
말그대로 백엔드에서 허용을 한다는건데 브라우저에서 차단하는건데 어떻게 백엔드에서 허용을 하냐 라는 개소리말아라 라는 생각을 갖을 수 도 있지만 백엔드에서 브라우저의 주소를 또는 * 로 전체 허용을 해주면 된다.
이게 Access-Control-Allow-Origin 여기다가 브라우저 또는 * 로 전체 허용을 해준다는데 일단 전체 허용을 하면 이상한 곳에서 침투하기 때문에 막 허용하지 말고 브라우저 주소만 작성하는것을 추천한다.
node 에서는 이것을 어떻게 하느냐 일단 각각의 api마다 허용하는 방법이 있지만 이거는 너무 비추천하고 라이드러리가 있는데
npm i cors 를 하고 app.js 가서 작성을 하는데 이렇게 하면 된다.
참고로 credentials 이거 허용해줘야 한다.
인증된 접근권한 허용 이라고 생각하면 될꺼같다. 안하면 브라우저에서 꺼지라 카더라 ㅠㅠ
app.use(cors({
origin: "http://localhost:3000",
credentials: true,
}))
02. proxy
이거는 잘은 안써봣는데 브라우저 - 프론트 - 백 이런식으로 원래 브라우저에서 백한테 바로 데이터 달라고 하는데 이거는 프론트를 우회해서 달라는거라고 생각하면 되는데 기본적으로 추천방법은 1번이라더라.
반응형
'nodebird' 카테고리의 다른 글
게시물을 불러오장 (2) | 2024.02.07 |
---|---|
패스포트로그인 (0) | 2024.01.29 |
회원가입 구현해보자.. (1) | 2024.01.27 |
넥스트에서의 에디터... (1) | 2024.01.25 |
blog만드는중... (0) | 2024.01.21 |