不久之前,我遇到了一个关于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内。但是当我向服务器发送消息时,在前端进行消毒是非常有用的。因为任何人都可以重写这部分,所以我需要再次在服务器上执行此操作。那么为什么不直接发送它来消毒并在后端做重要的事情呢?