2012-03-20 2 views
0

저는 캔버스와 easeljs를 사용하여 자바 스크립트에 게임을 작성하고 있으며이를 보호 할 수있는 방법이 있는지 궁금합니다. 예를 들어 무대에 새 개체를 추가하려면 stage.Addchild(index)을 사용합니다. 단순히 DOM을 편집하기 만하면 새로운 이벤트 핸들러를 찾아서 실행할 수 있습니다 (<body onclick="stage.removeChild(0)">과 같은). 그러면 모든 스테이지 객체가 하나씩 제거됩니다.사용자 정의 이벤트에서 js를 보호하는 방법

나는 다가올 모든 사건을 걸러 내고 무엇이 그것을 해고했는지를 조사하고 있었다. 하지만 어떻게해야하는지 잘 모르겠지만 더 나은 방법으로 만들 수 있습니다 ... 올바른 방향으로 나를 가리 키십시오 ...

+2

나는 물어야한다 - 왜 귀찮게해야합니까? 이것은 심각한 질문입니다. – asawyer

+0

나는 너를 완전히 잃었다. – gdoron

+0

나중에 좋은 답변이 없으므로 [Google Closure] (http://closure-compiler.appspot.com/home)와 같은 URL을 통해 js를 읽으면 다시 읽거나 재 작성하는 것이 더 어려워집니다. 실행 시간. 주로 자바 스크립트로 게임을 만들면 [gameQuery] (http://gamequeryjs.com/)를 확인해야합니다. 브라우저 용 풀 스프라이트 기반 게임을 쉽게 작성하고 부정 행위를 줄이거 나 줄이는 데 도움이되는 보안도 있습니다. – SpYk3HH

답변

2

자바를 보호하는 가장 좋은 방법은 모든 초기화 코드를 넣는 것입니다. 전역 변수에 대해 아무것도 노출시키지 않습니다.

그러나 이것은 런타임 네임 스페이스 충돌에 대한 몇 가지 보장만을 제공하며 좋은 개발 방법으로 사용하기위한 것입니다.

클라이언트 측에서 실행되는 코드는 신뢰할 수 없습니다. 안티 치트 동작을 위해 서버 측에서 들어오는 입력을 검사해야합니다. 사용자는 브라우저에서 실행되는 내용을 100 % 제어 할 수 있으며 원하는 방식으로 코드를 수정할 수있는 컨트롤이 포함됩니다.

+0

"서버 측에서 들어오는 입력을 확인해야하는 안티 치트 동작에 대해 감사드립니다." 내가 틀릴 수도 있지만 서버 측에서 서버 측에 쿼리를 보내려면 클라이언트 측에서 쿼리를 보내야하며 모든 쿼리를 브라우저에서 캐치하고 수정할 수 있어야합니다. – soin08

관련 문제