当用户点击查看源时,如何防止用户在页面上显示隐藏字段。 因为我想让我的应用程序更安全。我希望视图源页面不显示我在POST方法中传递的隐藏字段。 另外,我想在页面上隐藏javascipt / jquery和css代码。
简而言之,我不希望用户看到任何不相关的数据(对于用户而言)。 任何建议。
答案 0 :(得分:3)
第一件事:没有html代码或css代码可以隐藏。如果你打开冷杉虫或其他东西,可以很容易地看到它。
查看源代码显示实际用html页面编写的代码(即:未动态添加的元素。)
因此,如果您不想在视图源上显示它,则可以使用JavaScript动态添加该隐藏字段。但事件虽然可以被萤火虫看到。
如果该信息太安全,请不要将其添加到隐藏字段中。
更好的方法: 将其保存在全局javascript对象上,如:
var hiddenValue={
'hidden1':"some value",
'hidden2':"some value2"
}
//存储在全局变量中,您可以灵活地在隐藏字段中更改它。
如果您想在表单中发布此值。用javascript做吧。 像
//a jquery example
function submitForm(){
var formObj=$('#form');
formObj.append('<input type="hidden" name="hidden1" value="'+hiddenValue.hidden1+'" /><input type="hidden" name="hidden2" value="'+hiddenValue.hidden2+'" />').submit();
}
但请记住,始终有一种方法可以看到前端代码。只有你能做的就是让阅读变得复杂。
答案 1 :(得分:0)
除了禁用右键单击之外,您不能做太多其他事情。但他们仍然可以使用萤火虫和其他检查员进行检查
答案 2 :(得分:0)
你无法真正做到这一点,因为总有办法查看源代码。
您可以做的是保留您想要在加密的Cookie或会话变量中传递的所有信息。
至于安全性,如果您在HTML / Javascript中显示的内容应该受到保护,我强烈建议您重新考虑您的方法。
请记住,HTML是浏览器将输出的呈现代码,因此隐藏部分代码是不可能的。
答案 3 :(得分:0)
我更喜欢你为java脚本使用Node.js服务器端脚本
而不是使用隐藏字段尝试使用java脚本缓存。
当JavaScript受到保护时,您的java脚本也将是安全的而不是隐藏的字段
答案 4 :(得分:0)
IMO你应该
将值放入cookie中
加密cookie并将其发送到客户端
收到请求
解密cookie并读取值
或者如果数据是敏感的,请使用会话