gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 03:27:32 26 4
gpt4 key购买 nike

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

我尝试搜索它并了解到使用 CURL 是可能的,但这对我来说是新事物并且需要时间。如果我的这个问题有一些解决方案,请帮助我。

最佳答案

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

如果目标网站没有查看 HTTP 引荐来源网址和/或没有使用随机数,而您只是想创建一个自动登录,那么您可以通过返回这样的网页简单地发布到他们的表单如下...

<?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 在 1x1 CSS 透明 iframe 中加载此代码,将用户名和密码添加到 URL 的查询部分。 target="_top"将导致网页被重定向而不是 iframe。

[edit] libcurl 在这种情况下将无济于事,除非您计划创建像匿名用户这样的服务,用户实际上永远不会离开您的站点。在这种情况下,您可以对使用 curl 检索的网页应用过滤器,以在向用户显示之前填写表单。

关于c# - 将值从 php 页面文本框发送到 asp.net 网站文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com