我有一个AJAX网络服务和一个网页JavaScript,它会发布一些由一些PHP代码处理的信息,并将一些新数据返回给调用者。
偏执狂,在服务器上我检查我收到的POST参数,并且如果我预期的任何参数不存在则拒绝工作,但是,如果我已经传递了任何我不期望的参数。如果发生这种情况,我会记录请求。
然后它发生了 - 除了我期待的参数之外,从Apple MAC Safari还有一个额外的参数,名为" _sfl" (_SFL小写)。更奇怪 - 它包含一些模糊的即时JavaScript功能。
我不确定发布此功能的代码是否是礼仪,这似乎与长度,随机和地板有关,但是"它不是我和我的任何东西#39;已完成"所以我很好奇它是如何设法进入我发送的参数块,以及它是如何(意外地?)执行并因此被利用的。
我在浏览器中假定某些内容会导致这种情况发生,但这不是我的行为。
之前有人遇到过这个问题吗?或者知道我如何保护自己,所以它不会发生?
-Monathan