예시로 크롬 브라우저에서
연결요청 수락 상태 값을 가지고 로직을 짜서 연결요청을 서버에게 한뒤 유효성 검사를 거쳐서 true를 받으면
클라이언트는 true를 보고 다음로직을 수행한다고 가정을 할때
갑자기 도덕성 없는 유저가 지 브라우저 내부의 클라이언트 js코드중 연결요청 수락 상태 값을 true로 만드는게 가능함? 이게 XSS인가
예시로 크롬 브라우저에서
연결요청 수락 상태 값을 가지고 로직을 짜서 연결요청을 서버에게 한뒤 유효성 검사를 거쳐서 true를 받으면
클라이언트는 true를 보고 다음로직을 수행한다고 가정을 할때
갑자기 도덕성 없는 유저가 지 브라우저 내부의 클라이언트 js코드중 연결요청 수락 상태 값을 true로 만드는게 가능함? 이게 XSS인가
가능하지
그러면 개발자는 단순히 유효성검사를 true false로만 짜면 언제든지 악의적인 유저가 조작하면서 유효성검사 뚫고다닐수있는거 아니야?
ㅇㅇ
Js를 모듈로 불러오고, 전역변수를 안쓰면됨
전역변수 없이 개발하는게 맞음?
리덕스로 상태관리도 못하지않나 그러면
그건 전역상태고 js의 전역변수는 window객체에 프로퍼티로 들어가는 그거
디버거 붙이면 모듈 지역변수 다상관없이 조작가능함
디버거는 또 뭔 신박한소리야
React/Redux 쓰는 사이트는 container로 쓴 HTMLElement에 프로퍼티 타고 친절히 Store 접근 가능함
클라이언트는 언제든지 변조 가능하다고 가정하고 중요한 로직은 서버에서 돌려야 함 - dc App
js 쪽에서 최대한 방지는 해야 함 - dc App
그러면 대화방을 만드는 상황인데 여기서 접속허용 요청은 클라이언트에서 서버로 보낼때 서버는 응답을 단순히 true라는 값으로 전달하기보다는 접속허용시 사용될 데이터를 응답하는게 맞는걸까
대화방이 P2P 가 아닌이상 그냥 서버에서 접속용 토큰 내려주면 되는거 아님? - dc App
왜냐하면 true값만 띡하고 던져주면 클라이언트가 저값 하나만 조작하면 다른 접속허용후 로직에 접근할수있다는 뜻이니까
p2p로 만들고있음
리덕스 얘기하는거보면 리액트쓰나본데 니가 윈도우객체에 직접 변수를 넣어쓰거나, useRef로 직접 innerhtml로 넣는게 아니라면, 리액트에선 그런걱정 안해도돼
웹에서 p2p 가 뭔지는 모르겠지만 window 객체에만 안넣으면 변수 직접 접근은 안됨 걱정 ㄴㄴ - dc App
코드를 조작하는데서 그치지 않고 다 뜯어서 확장 프로그램을 만들수도 있고 서버 입장에서 동일한 동작을 하는 셀레니움/퍼피티어 기반 프로그램을 만들수도 있고 방법은 많음
클라이언트는 당연히 불신해야 함
위치만 알면 디버거 걸고 값 바꿀수도 있음
이게 된다는 애들은 지금 시간여행온거야?? 잘 모르면 답을 하지 말던가
Esm을 왜만들었는데. 이런거 막으려고 만든거야 다른이유들도 당연히 있겠지만
그래 private 쓰면 보안 쌔짐 - dc App
뭘 하려는지는 모르겠지만 유효한 토큰값이면 (너말대로는 접속허용시) api를 열어주는게 맞지
생각해보니까 서버에서 임의로 만든 토큰 기반으로 요청마다 유효성검사하는게 맞을거같다 ㄳ