如何通过身份验证将HTML表单提交到另一个域
我在域a上有一个网站,它有一个带有html表单的页面,用户可以在其中输入字符串,然后提交给域B 表单当前包含一个隐藏的输入字段,该字段的名称/值是域B用于“身份验证”/标识域a的 现在,我主要是一名C#编码员,拥有极少的网络经验,即使我知道这样做也不是一种安全的方式 域a上的表单安全提交到域B的最佳方式是什么 我考虑过的一些方法: 让域B通过域名或IP标识域A。我想这比一个隐藏的输入字段要好,但域名和IP可能会被欺骗,对吗 除了隐藏字段外,还通过其他方法将域A通过身份验证凭据(例如用户/通过)传递到域B。不知道怎么做 编辑如何通过身份验证将HTML表单提交到另一个域,html,forms,authentication,Html,Forms,Authentication,我在域a上有一个网站,它有一个带有html表单的页面,用户可以在其中输入字符串,然后提交给域B 表单当前包含一个隐藏的输入字段,该字段的名称/值是域B用于“身份验证”/标识域a的 现在,我主要是一名C#编码员,拥有极少的网络经验,即使我知道这样做也不是一种安全的方式 域a上的表单安全提交到域B的最佳方式是什么 我考虑过的一些方法: 让域B通过域名或IP标识域A。我想这比一个隐藏的输入字段要好,但域名和IP可能会被欺骗,对吗 除了隐藏字段外,还通过其他方法将域A通过身份验证凭据(例如用户/通过)传
另一种可能性:创建私钥/公钥。让域A将私钥传递给域B,域B可能通过HTTPS使用公钥进行验证。不确定域A如何在不在HTML中公开私钥的情况下传递私钥。想法?我过去也做过类似的事情。大多数人都不赞成这种方法,但它对我起了作用: 在两个域上定义匹配的用户。给他们两个相同的密码(您可能应该将其设置为永不过期)
然后,当您以此用户身份在域A中运行应用程序时,它将使用直通式身份验证在域B上进行身份验证。您只需确保用户帐户在两个域上都有正确的perm。根据值是什么以及如何生成,带有值以验证用户身份的隐藏输入可以是一种安全的方法。您可以让域A向域B发出AJAX调用,请求必须随表单一起提交的令牌 域B只应接受此令牌一次,并且在一定时间后也应过期 最后,您还可以为用户发送一个标识符。应该以某种方式对其进行加密以进行传输。我建议要么
备选案文2:使用;) 域A实际上不在我的控制范围内,因此除非所有者愿意与我合作,否则这不是一个选项。但是域B如何确定AJAX调用来自允许提交的人?它是否来自允许提交的人并不重要。令牌用于防止重播攻击。域A和域B可以有一个共享的秘密,该秘密随最终请求一起发送。但是,可以安全地假设任何具有有效登录凭据的表单提交都是经过授权的。