0

私たちには、ユーザーに関連付けられた異なる役割を持つangularjsアプリケーションがあります。例:2つの役割はAdminとLocalです。その役割に基づいて、管理者用のメニュー項目をいくつか表示し、管理者に機能/画面を追加します。デベロッパーツールを使用してクライアントがjavascriptでコードをデバッグするのを防ぐ方法

Adminプロパティを持つuserInfoは、ログイン応答から返され、レンダリングするすべてのメニューと画面を決定したものに基づいています。

しかし、私たちが開発者ツールを使用し、adminプロパティが使用されているブレークポイントを設定してadminプロパティをtrueに設定していても、ユーザーがローカルユーザーであっても管理者権限にアクセスできます。

誰かがjavascriptコードについていくつか考えていると、管理者権限を得ることができます。セキュリティの脅威のこの種のを防ぐ

おかげ

クライアントマシン上で実行されるアプリケーションのフロントエンドとして
+2

ロールに基づいて正しいメニュー項目を返すには、サーバー側を使用する必要があります。いつも操作できるので、クライアント側を信頼してはいけません。 – matox

答えて

0

するコードの縮小以外の任意のアイデアからユーザーを停止する方法は、実際には存在しないがありますコードのデバッグや変更を行うことができます。したがって、誰かがアプリケーションのローカルインスタンスを騙して、管理者としてサインインしていると思わないようにすることは不可能です。

adminインターフェイスを非表示にしたい場合は、管理者用に個別の(または追加の)テンプレートを用意し、ユーザーの権限に基づいてこれらのテンプレートへのアクセスを制限することが考えられます。これから得られるものがあれば、それはあなた次第です。とにかくサーバー上で特権アクションを実行する権利を検証する必要があります。クライアントの管理者権限を取得することは、サーバー側で管理者権限を取得することと決して同じであってはなりません。

関連する問題