我有一个有选择下拉列表的表单。我默认禁用它,并会根据某些条件重新启用它。我不希望任何人在禁用时访问选择选项值(现在可以通过检查浏览器中的元素来查看)。我该如何保证安全?
答案 0 :(得分:1)
我认为你不能。你可能最好不要在需要时填充它而不是启用它。你可以用Ajax调用来做到这一点。
答案 1 :(得分:1)
您需要使用ngIf
指令。
ngIf
指令根据{expression}
删除或重新创建DOM树的一部分。如果分配给ngIf
的表达式求值为false值,则从DOM中删除该元素,否则将元素的克隆重新插入DOM中。
用法的
<select ng-if="someCondition"></select>
答案 2 :(得分:0)
如果使用像knockout.js这样的简单绑定库,则可以使用无容器绑定,只能在需要时呈现选择DOM。
Knockout是一个很棒的小库,可以很好地与大多数其他库一起使用,所以不应该造成任何麻烦,所有你要做的就是导入js文件。
无容器绑定只会在需要时呈现DOM,因此检查页面元素将不会显示选择框。
<!--ko if: IsShown -->
<select>Render Me</select>
<!--/ko-->
这是一个简单的小提示,向您展示如何使其发挥作用。
答案 3 :(得分:0)
您可以避免渲染它,这会将其隐藏在DOM检查器中,但数据仍然在浏览器中,并且可供有意查看的人使用。
如果您不希望用户查看数据,请不要首先将其发送给客户。
如果要显示select元素,请向服务器发出Ajax请求。然后执行身份验证和授权以确保允许用户查看数据。然后在响应中返回它,让Angular使用该数据生成选择。
答案 4 :(得分:0)
无法隐藏用户在浏览器中查看部分代码,因为浏览器必须查看代码才能运行它,因此用户可以查看。但是,使用php可以帮助您仅在需要时为页面生成内容。我认为您可以使用这种方式为下拉列表或整个下拉列表生成内容。