【问题标题】:php insert data and proccedphp插入数据并继续
【发布时间】:2015-08-12 16:20:13
【问题描述】:

我正在制作一个网络应用程序,它将从 ftp 服务器获取您保存的密码。这部分工作正常,现在我正在尝试将此数据发送到第三个站点登录页面。

例如,您的 facebook/google 用户名和密码已加密保存在服务器上。该应用程序下载用户名和密码,解密并显示它们,以便用户可以将其复制/粘贴到 facebook/google 登录页面。

所以,我想让这自动发生。因此应用程序将获取用户名和密码,然后将其粘贴到登录页面并继续。

现在我设法将用户名和密码输入到 $username 和 $password 中。我也知道登录页面 URL $url(例如https://www.facebook.com/login.php)。我用curl试过了,但不确定是否需要直接使用curl post。

感谢您的宝贵时间!

编辑:

我找到了一种方法:我将登录页面的源代码复制到服务器并将登录用户名和密码值更改为“echo $username”,密码也相同。我还添加了 body onload="document.login_form.submit()" 以继续加载。

此方法适用于大多数页面,但不适用于 facebook,我收到“安全错误”,说在其他网站上输入您的 facebook 密码不安全。我猜他们会检查标题。

任何想法如何绕过它?

【问题讨论】:

    标签: php facebook curl login


    【解决方案1】:

    如果您使用 curl,那么它是您的网络应用程序,它将通过发送数据并“登录”;而不是您用户的网络浏览器。

    您需要使用 javascript 在客户端发出发布请求。但是,大多数网站现在都实施了 CSRF 保护,如果发布请求不是来自其网站或不包含正确的 CSRF 令牌,则不会接受该请求。

    您将无法在 facebook 上预先填充用户名/密码框,因为这需要您的 javascript 在 facebook 上运行,这是不可能的。

    与您类似的大多数其他服务(即 roboform)使用浏览器插件/扩展来执行此操作。

    【讨论】:

    • 如果我将用户名和密码发布到 JavaScript 函数中,该函数会将数据发送到原始登录页面
    • 应该可以,只要您发布数据的网站(facebook)不对发布请求的来源进行任何检查。由于 CSRF 保护,某些站点可能会出错并阻止登录,但仍可能会使用已发布的内容填充表单字段。但是,它非常特定于站点。
    • 嗯,如何制作一个 cookie,然后只是简单地标头(位置:..)?
    • 再次遗憾的是,由于安全原因,您无法为其他域/网站创建/修改 cookie。
    • 所以我的 webapp 不可能将用户登录到 Facebook 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 2022-11-24
    • 2020-07-13
    • 1970-01-01
    • 2019-03-11
    相关资源
    最近更新 更多