매니페스트 파일 또는 다른 곳에 속성을 지정하고 내 응용 프로그램 창에서 자바 스크립트 콘솔을 사용하지 못하게 할 수 있는지 궁금합니다. 자바 스크립트 콘솔을 사용하지 않으면 사용자가 돈을 버는 것이 아니라 게임을 제대로 실행해야합니다. 누구든지 애플 리케이션에서 자바 스크립트 콘솔을 해제하는 것이 가능한지 아는 사람 있습니까? Chrome의 향후 버전에서이 기능이 제공 될 예정입니까?크롬 웹 스토어 앱에서 inspect 요소/javascript 콘솔을 사용 중지 하시겠습니까?
답변
콘솔 앱에 대한 액세스는 이미 포장 된 앱 대 열려있는 웹 또는 진행중인 패키지가 풀린 앱에 비해 줄어 듭니다. 마우스 컨텍스트 메뉴는 개발자 도구를 제공하지 않으며 크롬 메뉴는 앱에 존재하지 않습니다. 유일한 옵션은 chrome : extensions 페이지 또는 Chrome Apps 개발자 도구에서 가져온 것입니다.
동기를 부여받은 사용자에게는 클라이언트 소스 수정을 포함하여 여러 가지 다른 경로가 있습니다. 자바 스크립트 obfuscator로 처리하면 약간 더 어려워 질 것입니다.
부정 행위를 방지하기 위해 게임 논리를 보호해야하는 경우 플레이어 동작을 확인하는 서버에서 게임 논리를 보호해야합니다. 가능하면 게임 동작을 캐싱하고 확인을 위해 전송하여 오프라인에서도 작동 할 수 있습니다. 그러나, 어느 시점에서 이것이 중요합니까? 싱글 플레이어 게임이라면별로. 리더 보드가있는 경우 사기범이 친구를 속일 수 있도록 사회 리더 보드로 만듭니다. 완전 멀티 플레이어 인 경우 이미 유효성을 검사해야합니다. ;) 절대로 클라이언트를 신뢰하지 마십시오.
클로저를 사용해야하고 수정해서는 안되는 코드 부분을 보호 할 수 있습니다.
예를 들어, 돈을 얻기 위해 간단한 수학 문제에 대답하는 게임이 있었고 돈이 충분하면 1000 달러라고 말하면서 총을 구입할 수 있습니다. 돈을 계정에 추가 할 수는 없지만 돈을 얻기 위해 질문에 답할 수 있어야합니다. 당신과 같이, 단지 getMoney 기능을 노출하고, 그 외 모든 것을 숨기 : 그들은 콘솔에서 노출 함수 내에서 액세스 할 수 있습니다
var game = function() {
var money = 0;
var hasGun = false;
var getMoney = function() {
response = prompt("What is 2+2?");
if (response == 4) money += 100;
alert("You have $" + money);
}
var showMoney = function() {
console.log(money);
}
var buyGun = function() {
if (money >= 1000) {
hasGun = true;
money -= 1000;
alert("You bought a gun!")
}
else alert("Not enough money!")
}
//we'll use this to expose methods and variables.
var public =
{
getMoney: getMoney,
buyGun: buyGun,
showMoney: showMoney
}
return public;
}()
game.getMoney();
유일한 것은 물어 방법 및 showMoney 방법입니다. 더 많은 돈을 벌 수있는 유일한 방법은 ask 메소드를 통해이를 수행하는 것입니다. 콘솔에서 다음과 같이 썼다해도 :
game.money = 1000;
game.showMoney(); //returns 0;
game.hackForMoney = function() { money = 1000; }
game.hackForMoney();
game.showMoney(); //returns 0;
game.showMoney = function() { return 1000; }
game.buyGun(); //alerts "Not enough money!"
이제 누군가가 콘솔에 액세스 할 수 있으며 아무런 문제가되지 않습니다.
이것은 절반의 답변입니다. 또한 게임의 모든 속성 (및 게임 자체, 실제로는'window.game')을 읽기 전용 속성으로 재정의하는 것을 제한해야합니다. 여기를 참고하십시오 : http://stackoverflow.com/questions/366047/can-read-only-properties-be-implemented-in-pure-javascript/366086#366086 –
- 1. 크롬 웹 스토어
- 2. 아마존 웹 스토어 숨기기/사용 중지/제거
- 3. Windows 스토어 앱에서 RESTful 웹 서비스 사용
- 4. 앱에서 Siri 사용 중지
- 5. inspect 요소를 사용할 때 콘솔을 닫는 방법
- 6. 데스크톱 앱에서 Chrome 콘솔을 자동화 하시겠습니까?
- 7. Google 크롬 콘솔을 사용하여 검색 수행
- 8. 화면에 웹 콘솔을 표시 하시겠습니까?
- 9. 자바 웹 앱에서 메시지 보내기 및 수신을 일시 중지 하시겠습니까?
- 10. js 알리미처럼 웹 페이지를 사용 중지 하시겠습니까?
- 11. 웹 앱에서 Android 프로세스 중지
- 12. Google 크롬 브라우저로 localhost에서 OPTIONS 요청을 사용 중지 하시겠습니까?
- 13. WebdriverJS를 사용하여 크롬 웹 스토어 테스트
- 14. 통합 : 크롬 웹 스토어 및 슬랙
- 15. 크롬 웹 스토어 항목과 같은 메뉴를 만드시겠습니까?
- 16. 툴바를 사용 중지 하시겠습니까?
- 17. iCloud를 사용 중지 하시겠습니까?
- 18. 크롬 자동 완성 URL 해시를 중지 하시겠습니까?
- 19. 크롬에서 내비게이션 사용 중지 (Google 크롬 확장)
- 20. Chromecast 수신기 앱에서 상태 업데이트 방송을 일시적으로 사용 중지 하시겠습니까?
- 21. Android 앱에서 LogCat 출력을 완전히 사용 중지 하시겠습니까?
- 22. 크롬 애플리케이션 모드 - 바로 가기 사용 중지
- 23. PDF를 앱에서 사용 하시겠습니까?
- 24. 모바일 크롬 브라우저에서 스 와이프 제스처 사용 중지
- 25. flex에서 웹 서비스를 중지 하시겠습니까?
- 26. 크롬 확장 스토어
- 27. Eclipse에서와 유사한 PyCharm 콘솔을 사용 하시겠습니까?
- 28. 웹 사이트를 사용 중지 한 후 Chrome 개발자 콘솔을 다시 사용하도록 설정하는 방법은 무엇인가요?
- 29. 은, 크롬 개발자 콘솔을 사용하여
- 30. 크롬 콘솔을 사용하여 데이터 선택
코드를 캡슐화하지 않고 (가능한 한 많이) 사용자가 혼란스러워하는 것을 어렵게 만듭니다. – megawac
"컨텍스트 메뉴"제어 방법은 어떻습니까? –