html – 表单随机提交为GET而不是POST

前端之家收集整理的这篇文章主要介绍了html – 表单随机提交为GET而不是POST前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这有点疯狂。

以下是我们OpenID provider的表格:

<form method="post" action="/affiliate/form/login/submit?affId=7" autocomplete="off">
    <table class="position-table">
      <tr>
        <td class="input-td">
          <input class="framed-text-field" type="text" name="email" id="email" value="" maxlength="100" />
          <span class="form-help">name@example.com</span>
        </td>
        <td class="input-td">
          <input class="framed-text-field" type="password" name="password" id="password" />
          <span class="form-help">Password</span>
        </td>
        <td></td>
        <td class="input-td">
          <input type="submit" class="affiliate-button" value="Sign In" />
        </td>
      </tr>
    </table>
    <input type="hidden" id="fkey" name="fkey" value="REDACTED" />
  </form>

此表单是托管在iframe中的页面(at / affiliate / form / login)的一部分。 iframe通过HTTPS(通过HTTP的主机页面)提供。您可以在/users/login使用隐身/私人浏览/色情模式浏览器窗口查看此操作。

所以这里的问题,定期(但不是一贯)一个用户将GET而不是POST到这个url。这是一个荒谬的低发生,影响到目前为止总共不到50个用户

我很想把这些错误(没有动作方法等)开/关,但是…

这些看起来像真正的用户:广泛的IP,各种有效的用户代理和可信的时间。令人沮丧的是,相同的用户有时会在一段时间后成功地POST相同的表单。

有什么想法可能导致这个?

我已经和丢弃的想法

> HTTPS加速器或负载平衡器发送请求

检查传入的日志,它们与应用程序的内容相匹配

> ASP / .NET请求解析错误

>将传入与记录的请求值进行比较,它们匹配

> Buggy浏览器

>在多个Chrome版本,FireFox 4,Safari和Mobile Safari中记录的事件

机器人或浏览器扩展程序

>宽浏览器,IP和操作系统扩展。

我目前最好的猜测是,在行动中的?id = =绊倒某事(虽然不一致,再次)。这基本上是voodoo调试,所以我更喜欢一个更权威的解释。

更新:尝试我的voodoo修复(< input type =“hidden”name =“affId”value =“#”/>等等),并部署。没有一个责备,所以我只是让它烘烤。

我们每天平均看到几天,所以如果这个2没有问题,我会把它作为答案。

第二次更新:不,还在发生。然而,更少的频率。我正在收集更多的数据,看看浏览器或操作系统是否有任何共同点。

操作理论为什么从动作中去除?affId =#已经减少了事件,客户端面前的错误代理乐观地提取“看起来安全的GET”。这是一个狂野的猜测,所以用一粒盐来处理它。

第三次更新:更多的伪造代理证据。查询受影响的IP的日志(在更长的时间内),并且其中许多具有比大多数未受影响的请求速率高得多的请求速率。它不是100%削减和干燥,我确信有些令人沮丧的清爽是增加了一个tad但是…它仍然是一个合理的指标(差异是5倍左右的同时期的受影响的IP的请求数)。

在这一点上,我正在检测到发生错误,并提供更好的错误消息和指导。对于真正获得权威的答案,尤其是那个答案似乎可能在“我无法控制的代码”的范围内,这一点毫不迟疑。

解决方法

一些广告拦截浏览器扩展,如 AdBlock Plus Popup addon‘探测器’伴随页面,以确定他们的真实URL,然后再决定是否阻止它们。具体来说,上述Popup插件默认情况下使用HEAD查询执行此操作,但可以设置为执行GET查询

猜你在找的HTML相关文章