具有敏感字段的经典ASP表单帖子

时间:2011-02-23 03:28:09

标签: post asp-classic hidden-field

帮助我的朋友使用他原来的ASP网站并遇到了一个问题所以我想把它扔掉,看看能不能得到一些帮助。

该网站基本上需要将数据POST到另一个页面,它正常。问题是需要将用户名/密码POST到接收页面,并且该站点当前在隐藏字段中保存它,这显然不好,因为您可以在源代码中看到它。

如何在ASP页面上提取数据而不将其隐藏在输入字段中?我知道它可以存储为变量但是我不能发布它,如果我将该变量放在输入值字段中,它会显示在源代码中。

任何帮助都将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:4)

  

需要将用户名/密码POST到接收页面

不,不。 :)

如果这两个页面是同一站点的一部分,请使用Session对象。

如果这两个页面位于不同的网站上,那么事情就会变得棘手,但这个想法很相似。我猜这不是你的情况,但如果是的话,请看看OAuth。 (例如,当您在此处登录时,您使用来自其他站点的身份验证,但stackoverflow永远不会看到该站点的密码。同样的想法。)

答案 1 :(得分:0)

创建一个类似于

的数据库表
 uniqueidentifier   SessionId
 varchar            Username
 varchar            Password

将SessionId存储在包含Response.Cookies的Cookie中。

在JavaScript中从cookie获取SessionId,并使用SessionId向使用SessionId从数据库获取用户名和密码的页面发送ajax请求,并输出JSON中的值。使用javascript将值附加到隐藏字段。您仍然会看到从接收表单帖子的页面上的隐藏字段中获取值,但如果用户查看页面源,则只会说<input type="hidden" id="username" name="username" value="DefaultUserNameValue" />之类的内容。该值将使用javascript动态分配,这对用户不可见。