这有点疯狂.
这是我们的OpenID提供商的表格:
<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>
Run Code Online (Sandbox Code Playgroud)
此表单是/affiliate/form/loginiframe中托管的页面(at )的一部分.iframe通过HTTPS(HTTP上的主机页面)提供.您可以/users/login使用隐身/私人浏览/色情模式浏览器窗口查看此操作.
所以这是问题,定期(但不一致)用户将GET而不是POST到此URL.这是一个荒谬的低发生率,迄今为止影响的用户总数不到50个.
我很想知道dev/null这些错误(没有行动方法等等),但......
这些看起来像真正的用户:广泛的IP,各种有效的用户代理和可信的时间.令人沮丧的是,相同的用户有时会稍后成功地发布相同的表单.
可能导致这种情况的任何想法?
我已经拥有并丢弃的想法:
我需要让表单发送POST和GET请求(由于IE和iframe中的一些错误),你怎么能这样做?
发送的数据不是很安全,所以如果可以通过GET设置它并不重要,只需要确保它是双向设置的.
谢谢您的帮助!