0

우리는 사용자에게 서로 다른 역할이있는 angularjs 응용 프로그램이 있습니다. 예를 들어 : 두 역할은 관리자 및 로컬입니다. 역할에 따라 관리자를위한 몇 가지 메뉴 항목을 표시하고 관리자에게 더 많은 기능/화면을 추가합니다.개발자 도구를 사용하여 클라이언트가 자바 스크립트에서 코드를 디버깅하지 못하도록하는 방법

관리자 속성이있는 userInfo는 로그인 응답에서 반환되며 렌더링 할 모든 메뉴 및 화면을 결정합니다.

개발자 도구를 사용하고 관리자 속성이 사용되는 중단 점을 설정하고 관리자 속성을 true로 설정하면 해당 사용자도 로컬 사용자이므로 관리자 권한에 액세스 할 수 있습니다.

누가 짧은 자바 스크립트 코드에 대한 몇 가지 생각을 가지고 관리자 권한을 얻을 수 있습니다. 보안 위협의이 종류를 방지

감사

클라이언트 시스템에서 실행되는 응용 프로그램의 프론트 엔드로
+2

역할에 따라 올바른 메뉴 항목을 반환하려면 서버 측에 의존해야합니다. 항상 조작 할 수 있기 때문에 클라이언트 측을 신뢰하지 마십시오. – matox

답변

0

하는 코드의 축약 이외의 아이디어에서 사용자를 막을 방법이 실제로 존재하지가 있습니까 디버깅 또는 코드 수정. 따라서 누군가가 응용 프로그램의 로컬 인스턴스를 속여서 관리자로 로그인했다고 생각하지 못하게하는 것은 불가능합니다.

관리자 인터페이스를 숨기고 싶다면 관리자에게 별도의 (또는 추가로) 템플릿을 지정하고 사용자의 권한에 따라 액세스를 제한 할 수 있습니다. 이것으로부터 얻는 것이 있다면 당신에게 달려 있습니다. 그래도 서버에서 권한이 부여 된 작업을 실행할 수있는 권한을 확인해야합니다. 클라이언트에서 관리 권한을 얻는 것은 서버 측에서 관리 권한을 얻는 것과 동일하지 않아야합니다.