这有点疯狂。
这是我们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中托管的页面(位于/affiliate/form/login
)的一部分。iframe是通过HTTPS提供的,HTTPS是HTTP上的主页。你可以使用匿名/私人浏览/色情模式的浏览器窗口在/users/login
上看到这一点。
所以这就是问题所在,用户会周期性地(但不是持续地)得到这个url,而不是发布到这个url。这是一个低得离谱的事件,到目前为止影响的用户总数不到50人。
我很想直接dev/null
这些错误(没有操作方法等),但是...
这些看起来像真正的用户:广泛的IP分布,各种各样有效的用户代理,以及可信的时间安排。令人沮丧的是,同样的用户有时会在稍晚一点的时候成功地发布相同的表单。
你知道这是什么原因造成的吗?
我曾经有过的想法和被抛弃的想法:
error
我目前最好的猜测是,动作中的?affId=#
触发了某些东西(尽管不是一直如此)。这基本上是巫毒调试,所以我想要一个更权威的解释。
更新:尝试了我的巫毒修复(<input type="hidden" name="affId" value="#" />
等),并进行了部署。没有复制品,所以我就让它烘烤吧。
我们平均一天会看到几个,所以如果这个在2+上没有问题,我会把它作为答案发布出来。
第二次更新:没有,还在进行中。然而,这种情况发生的频率要低得多。我正在收集更多的数据,看看在浏览器或操作系统方面是否有任何共性。
关于为什么从操作中删除?affId=#
会减少发生的操作理论是有缺陷的代理在客户面前乐观地获取“看起来安全的东西”。这是一个大胆的猜测,所以对它持保留态度。
第三次更新:伪造代理的更多证据。查询受影响IP的日志(持续时间要长得多),其中许多IP的请求率比大多数未受影响的IP高得多。这并不是百分之百的干干净净,我相信一些沮丧的提神是增加了一点数量,但…这仍然是一个合理的指标(对于受影响的is,差异是同期请求数量的5倍左右)。
在这一点上,我将转到检测发生的错误,并提供更好的错误消息和指导。对于实际得到一个权威的答案相当冷淡,特别是因为这个答案似乎很可能存在于“我不能控制的代码”的领域。
https://stackoverflow.com/questions/6192837
复制相似问题