2017-09-25 1 views
0

저는 현재 백엔드 용 ASP Web Api와 프론트 엔드 용 Angular4를 사용하는 응용 프로그램을 개발 중입니다. 현재 프론트 엔드에 대한 관리 구성 요소를 작성하고 있지만 이는 나에게 잘못되었습니다. 개발자 도구에 익숙한 사용자는 소스 코드에서 사용 가능한 경로를 확인할 수 있습니다. 조금만 수정하면 프론트 엔드의 관리자 페이지를 볼 수 있습니다.관리 뷰를 Angular (또는 해당 문제의 SPA)에 안전하게 포함시키는 방법이 있습니까?

나는 보안이 백엔드에서 가장 중요하다는 것을 안다. 앱이 안전하다는 것이 확실하지만 관리자보기를 그렇게 열어 두는 것이 좋은 습관이라고 믿을 수 없다.

나는이 문제에 대한 당신의 의견을 듣고 싶습니다. 그리고 아직 생각하지 못한 제안이 있으면 부탁드립니다.

+0

앱을 보호 할 수 없으므로 데이터를 보호해야합니다. 지식이 조금이라도 있으면 관리자 앱에 액세스 할 수 있지만 데이터가 안전하다면 서버가 사용자를 거부하므로 빈 앱이 표시됩니다. – Ploppy

+0

@Ploppy 나는 그 사실을 이해하지만, 그래도 방문자는 예를 들어 사용자의 자격 증명을 변경하거나 역할을 변경하는 등의 정확한 화면을 볼 수 있습니다. 안전합니까? 내가 전에 말한 것처럼 ... 그것은 단지 옳다고 느껴지지 않습니다 ... – user1796440

+1

앵귤러는 권한이없는 사용자가 주어진 페이지에 접근하는 것을 막을 수있는 루트 가드를 제공하지만, 그냥 받아 들여야합니다. 클라이언트 측 앱을 보호하는 것은 불가능하기 때문에 항상 우회 할 수 있습니다. – Ploppy

답변

0

제 생각에는 사용자가 dev 도구에 대해 알고 있다고해도 관리자 페이지에 액세스 할 수 없기 때문입니다.

먼저 코드가 축소됩니다. 그는 그것을 수정할 수 있기 위해 정말로 좋을 필요가 있습니다.

둘째, 그가 성공하더라도 페이지를 새로 고침하면 수정 사항이 모두 사라집니다.

셋째, 관리자보기에서 http 호출을한다고 가정합니다. 인증 된 관리자 만 http 호출을 할 수 있도록 엔드 포인트를 보호해야합니다. 즉, 사용자가 관리자 페이지를 볼 수 있으면 그가하는 일과 상관없이 데이터를 변경할 수 없습니다.

나는 이것이 당신을 몹시 바랬다는 것을 희망한다!