首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过身份验证将HTML表单提交到另一个域

问如何通过身份验证将HTML表单提交到另一个域
EN

Stack Overflow用户
提问于 2011-05-25 21:13:19
回答 2查看 1.4K关注 0票数 3

我在域A上有一个网站,它有一个带有html表单的页面,用户可以在其中输入一个字符串,然后提交给域B。

该表单当前包含一个具有名称/值的隐藏输入字段,域B用于“验证”/identify域A。

现在,我主要是一个C#程序员,很少的网络经验,甚至我知道这不是一个安全的方式来做到这一点。

域A上的表单安全地提交给域B的最佳方式是什么?

我考虑过的一些方法:

让域B通过域名或IP标识域A。我想这比隐藏的输入字段更好,但是域名和IP可能会被欺骗,对吗?

通过隐藏字段以外的其他方法将域A通过身份验证凭据(例如用户/ pass )传递到域B。不知道怎么做。

编辑

另一种可能性是:创建一个私钥/公钥。让域A将私钥传递给使用公钥验证的域B,可能通过HTTPS。不确定域A将如何传递私钥而不会在HTML中公开私钥。想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-25 21:33:16

包含要验证用户身份的值的隐藏输入可以是一个安全的方法,具体取决于该值是什么以及如何生成。您可以让域A对域B进行AJAX调用,请求一个必须与表单一起提交的令牌。

此令牌只应被域B接受一次,并且在一段时间后也应过期。

最后,还可以为用户发送标识符。应该以某种方式对其进行加密以进行传输。我建议要么HMAC,要么公钥加密。

选项2:使用OpenID ;)

票数 2
EN

Stack Overflow用户

发布于 2011-05-25 21:23:34

我过去也做过类似的事情。大多数人对这种方法不以为然,但它对我起了作用:

定义两个域上的匹配用户。给他们两个相同的密码(你可能应该把它设置为永不过期)。

然后,当您以用户身份在域A中运行应用程序时,它将使用通过身份验证在域B上进行身份验证。您只需确保用户帐户在这两个域上都有正确的权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6131005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档