我不确定在纯文本中看到这些指令是否对我们的应用程序黑客行为构成任何特定威胁。但如果没有其他人可以清楚地看到我们的模型结构和功能。如果Angular在引导后删除了那些,那么至少会让它更难以访问......
在Angular app boostrapped之后,是否可以从标记中删除所有自定义ng-
属性?应用程序是否仍能按预期工作?
是否可以使用jQuery在DOM Ready上动态添加ng-
属性,然后按照#1删除它们?如果这需要手动应用程序引导,那么它是吗?
通过以某种方式使#2的可能性我们可以外化应用程序配置和HTML标记永远不会显示任何声明性指令(仅在配置 - 引导 - 删除之间的时间)。但至少如果用户禁用Javascript则不会。
答案 0 :(得分:2)
如果客户端应该显示某些数据,那么通过Angular公开的任何内容都必须以某种方式暴露给客户端。如果您想拥有一个交互式客户端应用程序,那么它需要具有某种形式的客户端模型和数据结构以及代码来处理这些事情。无论您是纯粹在.js文件中的过程代码中表达它们还是将部分结构嵌入到HTML标记中都几乎没有任何区别。它没有任何可以破解的东西,而这些东西本来就不会被黑客攻击。