Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS保护服务值_Javascript_Angularjs_Security - Fatal编程技术网

Javascript AngularJS保护服务值

Javascript AngularJS保护服务值,javascript,angularjs,security,Javascript,Angularjs,Security,在我的angularJS应用程序中,当用户的角色日志存储在loginService中时,我发现这些值可以由用户通过控制台进行编辑。 我怎样才能保证呢 如何处理CSRF 我的angular/easyREST应用程序还有许多其他安全问题,非常感谢任何有用的链接 1)如果您只担心编辑存储值,可以将其设置为私有: 我认为这是您能做的最好的事情,但若在有权访问该值的函数中设置断点,那个么就可以编辑该值。 所以无论如何,您都应该使用服务器端检查 2) 如果链接中有用户数据,则应在向页面添加数据之前使用$sa

在我的angularJS应用程序中,当用户的角色日志存储在loginService中时,我发现这些值可以由用户通过控制台进行编辑。 我怎样才能保证呢

  • 如何处理CSRF

  • 我的angular/easyREST应用程序还有许多其他安全问题,非常感谢任何有用的链接

    1)如果您只担心编辑存储值,可以将其设置为私有: 我认为这是您能做的最好的事情,但若在有权访问该值的函数中设置断点,那个么就可以编辑该值。 所以无论如何,您都应该使用服务器端检查

    2) 如果链接中有用户数据,则应在向页面添加数据之前使用$sanitize服务。
    $sanitize

    谢谢。DOM操作呢?比如说,我在HTML中有一个select,它由一个AJAX调用填充,之后我的select将有两个选项。我怎样才能阻止用户创建另一个选项(比如firebug之类的)?你不能,只要它在浏览器中,用户就可以更改它。您必须使用服务器端验证来确保从用户处获取有效数据。为什么用户可以更改值很重要?请记住,您永远不能信任外部数据(来自用户或其他服务)。服务器端验证非常重要,这是毫无疑问的。但在客户端,我存储了一些类似角色的东西。假设用户没有查看某个内容的角色,如果他可以更改他的角色,他将能够查看该内容(直到他刷新页面)。这是在客户端执行更多应用程序逻辑的缺点之一,您当然可以将用户/管理员角色视图分开。但是值得吗?即使用户将其角色更改为管理员,并获得管理员控制(编辑、删除等),服务器端验证也应启动并拒绝对这些方法的访问。如果“某物”是静态的且源可用,则apt攻击者无论如何都无法访问它。如果它是动态的,如“服务器对请求的响应”,那么您又到了不信任客户端数据的地步(这里是:角色)。我认为这不会实现任何效果。其思想是分别跟踪服务器上的用户角色。无论何时用户提交请求,您都会根据服务器端角色拒绝或处理该请求。