2010-07-15 84 views
0

这可能吗?访问asp.net远程站点的本地站点上的PHP登录表单

我想在我的网站上有一个PHP登录表单。当用户输入用户名和密码并单击提交时,应将其定向到登录的远程网站(因此跳过远程站点上的登录表单)。

正如标题中所述,远程站点使用ASP.NET构建。

我试图寻找一个解决方案,但真的找不到任何东西,所以一些帮助和建议将受到欢迎。

谢谢,马克。

回答

0

你是否拥有远程站点?

如果不是,唯一的解决方法是通过POST/GET发送正确的参数来提交带有卷曲的远程表单。您必须检查远程表单的html源代码,以了解您必须通​​过哪些参数。尽管如此,只要远程网站将在其表单上实施一些CRSF保护,该解决方案就会被中断。

+0

不,我不拥有远程站点。 我试过使用卷曲,但没有运气让它工作。卷曲检索远程站点登录页面并将其加载到我的本地页面吗?这对我不起作用,因为我不支持asp.net ....谢谢。 – 2010-07-15 09:09:37

+0

绝对不是。 Curl正在将数据传递给远程资源。 也许你应该尝试挖掘这一个:http://fr2.php.net/manual/en/book.curl.php第一。 顺便说一句,你试图达到什么不清楚,你为什么要提交一个你不拥有的表单? – bPizzi 2010-07-15 11:28:01

+0

感谢您的链接。 基本上,asp.net网站是使用我们的产品的用户有权访问的项目管理应用程序。我们希望能够允许用户通过我们的网站登录,以便我们维持品牌。然后,用户将直接转到已登录的项目管理应用程序。 – 2010-07-15 12:53:22

0

您是否试图直接从您的PHP脚本直接发布到ASP.NET表单?

+0

是的,它只是重新指向他们的登录表单 – 2010-07-15 09:32:00

+0

可能是因为他们的脚本正在检查发布数据的来源。我想没有办法直接发布给他们。 如果是这种情况,那么CURL也不起作用。 任何机会,你可以跟另一侧的管理员,让他们让你的代码张贴过来? – iWantSimpleLife 2010-07-19 05:13:49

+0

他们是否检查发布表单的HTML引用者?如果是,您可以尝试欺骗推荐人。 – iWantSimpleLife 2010-07-23 02:35:55

4

我已经有了相同的情况,我需要发布一个远程表单。如果我没有记错,我做了以下:

  • 创建http处理程序(我用这个Zend_Http)。
  • 首先通过GET获取页面。
  • 搜索所有表单元素及其值的响应。
  • 在http处理程序中设置这些值。
  • 设置你自己的值(如用户名/密码)。
  • 执行POST

asp.net应用程序创建有点丑态。他们在表单中使用了很多隐藏的值(至少在我的情况下)。您需要启用Cookie才能进行更改。

希望这会有所帮助。