我的应用程序包含两个独立的项目 - UI项目(AngularJS)和Web API项目(ASP.NET)。
我想记录所有用户活动,例如按钮点击,用户登录等。
目前我在Angular中使用工厂来使用API,如下所示:
var urlBase = 'http://localhost:8298/user';
userDataFactory.insertUser = function (user) {
return $http.post(urlBase + '/create', user);
};
现在我想将这些操作记录到具有存储过程的数据库中。但这些问题都在我身上。
是否可以复制上述内容但是调用将用户活动传递给存储过程的Log API?
我是否应该担心授权创建日志?否则任何人都可以通过调用路由来记录活动?
即使需要授权,用户也可以继续随意调用Log API并使用他们希望的任何数据填充它。
还有其他选择吗?
答案 0 :(得分:1)
如果您只是设置审核,则应该在服务器端进行,因此不可能有人破坏您的系统。
如果您必须执行此客户端,请创建一个例程来处理对服务的调用。而且,是的,我会进行某种类型的身份验证,因此没有人可以破坏您的活动。但是,如果有人打电话给服务器获取信息,甚至可以在服务器端跟踪客户端脚本,所以你仍然不需要从客户端登录,有人可以获取你的脚本并破坏你的意图。
你可以复制这个例程吗?当然,但为什么呢?如果你必须这样做,客户端添加一个"日志记录程序"。或者,更好的是,在创建用户的调用中,记录服务器端的访问权限。