2017-05-06 43 views
-1

例如,我有我的組件模板這部分代碼:是否有可能破解Angular 2禁用的輸入標籤?

<input type="text" class="form-control" [(ngModel)]="profileUser.role" name="role" [disabled]="!isAdmin"> 

在我的組件模塊,我有:

if (this.currentUser.role == "Admin") 
{ 
    this.isAdmin = true; 
} 

我想給權僅適用於那些編輯此輸入字段具有「管理員」角色的用戶,併爲其他用戶禁用此字段(但要向他們顯示profileUser.role的當前值)。

它是安全的解決方案,或者有可能破解輸入標籤屬性並獲取對禁用字段的訪問權限,並更改其值並使用「提交」按鈕進行更新。

如果第二個陳述是正確的,請建議最安全的方式在ngForm上顯示此類數據,並以ngModel雙向綁定爲邊界。

+2

是的,當然用戶可以在他們的電腦上做任何他們想做的事情。他們可以毫不費力地將腳本,模板和值更改爲任何內容。不,根本不重要,因爲無論你在服務器上檢查用戶角色,即使他們改變了輸入字段,它也不會執行任何操作。 – JJJ

+0

謝謝,我明白了。 –

回答

0

您必須在雙方保護您的數據:客戶端和服務器。客戶端代碼必須控制數據輸出(但它可以通過多種方式在客戶端進行攻擊)和數據輸入 - 數據驗證。

但是,在服務器端對訪問並存儲所有重要數據必須進行雙重檢查。

相關問題