【问题标题】:Auto-populate form via URL, then submit?通过 URL 自动填充表单,然后提交?
【发布时间】:2013-07-10 18:04:18
【问题描述】:

我正在使用这种形式的自动填充:http://getpocket.com/save

我使用的是它而不是 API,因此当用户在与我的网站相同的浏览器上登录 Pocket 时它可以工作。

但是,然后必须单击“保存”并不是一个好的用户体验,那么我该如何“自动化”呢?

我不会展示我的代码,因为它本质上只是为了生成一个表单的链接:

http://getpocket.com/save/?title=thetitle&url=encodedurl

它可以很好地填充表单,但我该如何提交?我尝试追加&save&submit 然后每个=True,徒劳无功。是保存按钮没有 name= 字段的问题吗?这是用来挂钩标题和 URL 字段的?

编辑:澄清一下,我没有任何恶意,只是为了保存文章以便稍后点击按钮阅读。

如果我有时间我会看看 API。

【问题讨论】:

    标签: html forms pocket


    【解决方案1】:

    幸运的是,这是不可能的(在 Pocket 和大多数网站上),因为跨站点伪造请求保护可以防止您正在尝试做的事情。

    在表单中设置了一个令牌,并与用户在口袋(或任何其他使用 csfr 令牌保护的站点)上的会话信息一起,它需要形成某种秘密哈希。提交“保存”表单时,将检查这些字符串的组合,通常会设置新的字符串。因为(实际上)您不可能从表单本身预测令牌并且没有真正的方法来操作会话哈希,所以您不走运。我们都为此感到非常高兴:)。

    否则,您可能会在其他网站上创建链接,当您碰巧点击它们时会删除您的整个数据库等。

    简而言之:你不能。

    在任何没有 csrf 保护的表单上,您必须定位的不是包含表单的页面的 url,而是表单的“操作”。您可以通过使用浏览器的 DOM 检查器检查表单来查看此操作。但是,正如我所说,csrf 保护会阻止它在大多数情况下工作。

    http://en.wikipedia.org/wiki/Cross-site_request_forgery

    https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

    【讨论】:

    • 啊,谢谢。我没有想到安全隐患! :o
    • @OllieFord 很高兴我能提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多