不在视图源中显示隐藏字段

时间:2013-03-07 04:39:03

标签: jquery asp.net-mvc-3 security

当用户点击查看源时,如何防止用户在页面上显示隐藏字段。 因为我想让我的应用程序更安全。我希望视图源页面不显示我在POST方法中传递的隐藏字段。 另外,我想在页面上隐藏javascipt / jquery和css代码。

简而言之,我不希望用户看到任何不相关的数据(对于用户而言)。 任何建议。

5 个答案:

答案 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并读取值

或者如果数据是敏感的,请使用会话