将值从php页面文本框发送到asp.net网站文本框


sending values from php page textbox to asp.net website textbox

我正在用PHP开发一个网站。我的网站上有一张登录表。学生在输入用户名和密码时,它会将他们重定向到一个ASP.NET网站(而不是我的网站),该网站再次有登录表单,学生在我的PHP网站中输入的用户名和密码将自动出现在登录表单的ASP.NET网页文本框中。

我试着搜索了一下,发现使用CURL是可能的,但这对我来说是新的,需要时间。如果我的这个问题有什么解决办法,请帮帮我。

在无法控制的网页中自动填写表单的唯一方法是创建浏览器插件。主要的web浏览器提供了使用自定义插件更改加载页面上的HTML的功能。你会观察网站上URL的每个页面加载,以读取为用户名和密码输入的值,并将这些数据存储在你的插件中。您还需要注意目标URL,并在URL为目标网站时自动填写表单字段。如果目标网站正在查看HTTP Referrer标头,和/或使用nonce来验证请求是否来自其网站,那么让用户安装自定义浏览器插件是唯一的方法。

如果目标网站没有查看HTTP引用和/或没有使用nonce,并且你只是试图创建一个自动登录,那么你可以简单地通过返回以下网页来发布到他们的表单。。。

<?php
// Modify these to match the fields on your form and on the target ASP sites login form
$myUsernameKey = "username";
$myPasswordKey = "password";
$targetUsernameKey = "user";
$targetPasswordKey = "pass";
?>
<html>
    <head>
        <title>Please wait....</title>
    </head>
    <body>
        <form id="redirect-form" action="http://www.some-asp-site.com/login.asp" method="post" target="_top">
            <input type="hidden" name="<?php echo htmlentities($targetUsernameKey); ?>" value="<?php echo htmlentities($_REQUEST[$myUsernameKey]); ?>" />
            <input type="hidden" name="<?php echo htmlentities($targetPasswordKey); ?>" value="<?php echo htmlentities($_REQUEST[$myPasswordKey]); ?>" />
        </form>
        <script type="text/javascript">
            setTimeout(function() { document.getElementById('redirect-form').submit(); },100);
        </script>
    </body>
</html>

如果你不想让你的用户看到这个重定向页面,当用户点击登录时,你可以使用javascript在1x1CSS透明的iframe中加载这个代码,并将用户名和密码添加到URL的查询部分。target="_top"将导致重定向网页而不是iframe。

[edit]libcurl在这种情况下不会有帮助,除非你计划创建一个类似匿名的服务,让用户永远不会离开你的网站。在这种情况下,您可以对使用curl检索的网页应用过滤器,以便在向用户显示表单之前填写表单。