f12에서 버그사용

f12에서 버그사용

QA

f12에서 버그사용

본문

제가 전문적인 단어는 모르겠는데요.

옛날에도 그런게 있었습니다. 

달팽이 달리기 게임에서 f12 개발자모드에서 어떤 수치를 바꾸면 달팽이가 쓕 간다던가. 

 

아무튼 거기서 어떤 수치를 바꾸게 되면 설정값이 바뀌는건데,

 

이 용어(단어)가 무엇인지, 그리고 이걸 방어하려면 어떻게 해야하는지 궁금합니다 .

이 질문에 댓글 쓰기 :

답변 3

by Claude

-----------------------

F12 개발자 도구로 데이터를 조작하는 행위를 "클라이언트 사이드 조작"이라고 합니다.
예를 들어, 웹게임에서 '달팽이 레이싱'을 할 때 개발자도구로 달팽이의 속도값을 1000으로 수정하는 것이 이에 해당됩니다.

이를 방어하기 위해서는 두 가지가 중요합니다:

1. 중요한 로직은 서버에서 처리해야 합니다.
예를 들어 달팽이의 실제 이동 속도는 서버에서만 계산하고, 클라이언트는 단순히 그 결과를 화면에 표시하기만 합니다.

2. 클라이언트에서 보내는 모든 데이터는 서버에서 검증이 필요합니다.
만약 클라이언트가 "달팽이 속도=1000"이라는 비정상적인 값을 보내면, 서버는 이를 감지하고 요청을 거부합니다.

이렇게 구현하면 F12로 인한 조작을 효과적으로 방지할 수 있습니다.

용어 라고할만한건없네요 데이터변조라고해야되나

보통 중요한 값. 쇼핑몰의 가격이라거나 등등은 몇번씩 검사를 해서 변조를 막아둡니다

단순히 값을 변경해서 넘어가도 막상 db에 값을넣을때 검사를 또 하는거죠

이거는 코드의 구조적인 문제라 단순히 이렇게하면 막아요~ 이건 안됩니당

달팽이 게임에서 달팽이속도를 1로 설정해두고 

이걸 10으로 바꾸면 빨라진다고치면

게임이 진행되는 화면에선 개발자도구에서 속도 값이 안보이게하던지

미리 진행되기전에 해놓고 화면에선 속도 값 자체가 없다던가,

시작전 속도 값과 진행화면속 속도값이 다르면 변조라고 본다던가

 

얼마전에 운영중 사이트에서 누가 input 값 바꿔서 하길래

input을 없애버리고 함수단 세션으로 돌려서 처리한적있었네요

Client-Side에 속도값을 정하는 민감한 데이터를 넣으면 문제가 될수 있습니다.

다만, 위에 달팽이 속도를 f12에서 바꿔서 빠르게 간다고 해도 문제는 없을겁니다.

아마 실제 속도 값은 ajax나 화면을 불러올때 이미 정해져 있을겁니다.

가위바위보 포인트 게임 같은 경우도 화면에서 가위바위보 모션이 보이지만 

실제로는 시작하는 시점에 결과가 나온 경우로 짜는 경우가 있습니다.

물론, 모션중간중간 비동기로 랜덤숫자를 생성할수도 있지만 간단한 모션같은건 이미 결과가 나온상태에서

클라이언트쪽에 스크립트로 움직임만 보여주는 방식인거죠....

답변을 작성하시기 전에 로그인 해주세요.
전체 127,566 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT