【问题标题】:Automatically fill username password into windows prompt using asp.net or jquery使用 asp.net 或 jquery 自动将用户名密码填充到 windows 提示符中
【发布时间】:2011-12-16 15:04:36
【问题描述】:

我们的许多用户都访问了第三方网站。我的用户名和密码已经存储在我们的数据库中。一旦此站点的 URL 提示用户并单击提交按钮,是否可以以编程方式输入用户名和密码?无论如何甚至在服务器端这样做?

感谢您对此的任何见解。

【问题讨论】:

  • 我猜该站点没有任何您可以找到的功能来允许您指定要预填充的值?并要求他们实施这是不可能的,对吧?
  • 这永远不可能,因为你永远不应该保存真正的密码,只保存它的(加盐的)哈希

标签: c# jquery asp.net


【解决方案1】:

即使您在框架或单独的窗口中打开第三方网站,您的网站也没有 Javascript 访问权限来对该页面执行任何操作,因为它是跨域的。

这里只是一些想法:

  1. 搜索第三方网站或联系该网站的某个人,看看他们是否有任何适用于其网站的 API。他们可能已经支持您希望在 API 中实现的功能。
  2. 使用像 Firebug 或 Chrome 的开发者工具这样的工具来查看他们的登录页面发送到他们的服务器的信息。在您的网站上创建一个表单,模仿他们的登录页面并将登录信息提交到他们的网站。

第二个选项不是很可靠,因为如果他们改变了他们的网站,你的代码就会中断。使用 API,该站点至少会考虑那些使用 API 的人,然后再进行可能会破坏某些内容的更改。另外,我不确定这有多安全。如果您最终通过页面传递了密码,那么有人可能会拦截/查看它。

在大多数情况下,如果没有第三方网站的帮助,我认为这是不可能的。我希望这些想法能给你一些想法。

【讨论】:

    【解决方案2】:

    我不相信有任何方法可以用 Javascript 做到这一点。即使在 iFrame 中,我也相信 DOM 是独立的,并且无法从父页面访问内部。见<iframe> javascript access parent DOM across domains?

    我会查看表单并将操作和表单字段拉出。然后在服务器端操作中,您可以使用数据库中的数据直接发布到操作,并将客户端重定向到返回值。这篇文章可能有助于 C# 解决方案Simulate login action to VBulletin using C#

    【讨论】:

      【解决方案3】:

      是否可以将其他网站加载到 iframe 中?从那里你可以调用一些 JavaScript 来设置表单输入值并点击提交。然后,一旦用户拥有一个有效的登录/会话 cookie,忽略 iframe 并将它们完全重定向到第三方站点。

      完全未经检验的理论,有些东西告诉我它行不通,但这是一个想法。

      【讨论】:

      • 同源策略不允许这样做。
      猜你喜欢
      • 1970-01-01
      • 2010-11-29
      • 2016-05-10
      • 2014-12-07
      • 2011-08-08
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      相关资源
      最近更新 更多