不久之前,我遇到了一個關於AngularJS認證的教程。他們創造了一個AuthenticationService
,看上去有點像這樣:
angular.module("auth").factory("AuthenticationService", function ($http, $sanitize) {
function sanitizeCredentials(credentials) {
return {
username: $sanitize(credentials.username),
password: $sanitize(credentials.password)
};
}
return {
login: function (credentials) {
return $http.post("auth/login", sanitizeCredentials(credentials));
}
};
});
所以你看到的,$sanitize
服務是用來消毒的用戶名和密碼。到目前爲止這麼好,但在這裏使用它真的有意義嗎?據我所知,$sanitize
用於用戶輸入立即顯示在HTML內。但是當我向服務器發送消息時,在前端進行消毒是非常有用的。因爲任何人都可以重寫這部分,所以我需要再次在服務器上執行此操作。那麼爲什麼不直接發送它來消毒並在後端做重要的事情呢?