【问题标题】:Asp.net Cross Domain Form PostingAsp.net 跨域表单发布
【发布时间】:2011-08-30 11:30:52
【问题描述】:

是否可以将数据从一个域中的 asp.net 应用程序发布到另一个域中的另一个应用程序?

我看过一些帖子,其中人们提到了一些将表单注入响应流的相当奇怪的方法,但这似乎有点矫枉过正。

在不将 Asp.net 黑客攻击致死的情况下,实现它的最佳方法是什么?

谢谢, 雅克

【问题讨论】:

  • 我的葡萄有点酸,因为我给出了更全面的答案。

标签: asp.net


【解决方案1】:

这绝对有可能,而且很容易做到。

  1. 浏览器将数据发布到您的 .net 应用
  2. 您的应用使用 HttpWebRequest 对象将数据发布到第 3 方网站
  3. 第三方网站将数据返回给您的应用或只是接受帖子。
  4. 您的应用会根据您的需要响应浏览器。

我不知道您为什么要“将表单注入响应流”或做任何类似的时髦事情。也许您可以添加更多关于您的要求的信息。

克里斯。

【讨论】:

  • 嗨,克里斯,实际上就像您说的那样简单。我们客户的网站使用第三方报价工具,这是另一个基于 asp.net 的应用程序。本质上,我们的网站会从用户那里获得一些输入,然后通过一个简单的帖子将其推送到其他应用程序。
  • 是的......但是你如何发布和重定向到那个页面......就像原生形式一样。如果我这样做,我的目标页面会获取帖子数据..然后我重定向并且帖子数据消失了。(两个 httprquests)在 php 中很容易使用帖子数据转到另一个域页面.. 在网络中似乎不可能>跨度>
  • @ppumkin:帖子数据当然会在重定向中消失。重定向所做的只是告诉浏览器GET 新页面。您可能想阅读以下内容:stackoverflow.com/questions/6062078/… 顺便说一下,这与您在 PHP 中必须采用的方法完全相同。
  • 是的,几个小时后我才意识到这一点。我已经改变了使用 jQuery 来处理我需要的方法。从长远来看,似乎更容易获得更多可能性。无论如何谢谢:-) +1
【解决方案2】:

如果您可以访问这两个应用程序,那么最好的方法是在服务器端进行。

因此,请提供一个 Web 服务并从发布应用程序中使用它。

使用httpwebrequest服务器端,见下面的链接。

http://www.netomatix.com/httppostdata.aspx

在客户端上,您可以使用诸如 http://easyxdm.net/wp/ 之类的库 - 尽管有一点学习曲线。

如果您不想使用上述路线并准备编辑您的 asp.net 页面,这里有几个链接可能会对您有所帮助。

http://blog.dmbcllc.com/2009/11/11/asp-net-cross-domain-form-submission/

Cross-Domain Posting in ASP.Net loses Form Fields

【讨论】:

  • 这不只是设置 HTML 表单以发布到其他应用程序/域的一种情况吗?
  • 如果你在服务器端做,你会绕过跨域问题,如果你使用像 easyxdm 这样的库,那么它将使用多种方法来传输数据客户端。你也可以看看做一个 httpwebrequest 服务器端。
猜你喜欢
  • 1970-01-01
  • 2015-08-12
  • 2010-11-14
  • 2011-03-30
  • 2015-02-20
  • 2015-01-04
  • 2017-11-14
  • 2011-01-02
  • 2012-02-19
相关资源
最近更新 更多