angularjs- 禁止访问$ scope并停止从控制台进行操作

angularjs- 禁止访问$ scope并停止从控制台进行操作,第1张

我在AngularJS中有一个网页,我想在客户端本身执行一些验证。因此,我会比较$scope的值并验证用户的事件。例如:

$scope.limit = 5;
$scope.reached = 5;
$scope.check = function () {
    if ($scope.reached >= $scope.limit) {
        alert("Sorry, limit reached.");
    } else {
        alert("Success!");
    }
};

但是,在元素标签中选择元素,然后在控制台中运行此命令后,可以访问和更改$scope:< / p>

angular.element(成功).scope().limit = 100;
//or by running $scope.limit = 100; if you're using Batarang

成功运行此命令后,我将收到警告http://keval5531.github.io/angular.html。我已经创建了一个用于测试目的的示例页面:$scope

那么,是否可以禁用对编辑的访问或操作?我总是可以使用服务器进行验证,但我确信必须有一些方法来保持客户端验证的傻瓜。

最佳答案::我的意思是傻瓜式的,这需要用户更多的努力和专业知识来操纵发送的数据,而不仅仅是操纵DOM。

1 个答案:

scope()

答案 0 :(得分:1)

您永远无法确保客户端的安全验证安全性。但回答你关于是否可以限制访问范围的具体问题 - 是的,在某种程度上(1.3 )。您可以通过disabling the debug info禁用batarang和其他插件使用的调试数据。使用.config(['$compileProvider', function ($compileProvider) { $compileProvider.debugInfoEnabled(false); }]); 访问器函数将不再附加在DOM元素上。这样做的目的不是为了提供安全,而是为了提高性能。保持服务器端验证足够强大,以阻止任何此类尝试。

angular.reloadWithDebugInfo();

但请注意,任何人都可以使用控制台的调试信息重新加载应用程序:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复