2011-09-26 90 views
4

我有一个PHP重定向脚本,做下面一个奇怪的问题:饼干腐败

  1. 厂在用户浏览器的cookie,或阅读现有的Cookie(如果有)。
  2. 将用户重定向到另一个URL(重定向的URL是原始URL中的参数,例如http://my.redir.com?url=www.google.com)。
  3. 记录重定向(时间,用户代理,引用者,cookie)。

每隔一段时间(非常少见,百万分之一),我看到一个cookie在日志文件中被损坏。 所有cookies的格式为XXXX-XXXX,当X是a-f或0-9时(所以有效的cookie可以是7bfab3-d8694)。损坏的曲奇具有替换字符或连字符之一的字符:/,例如, 7bfa:3-d86947bfab3/d8694

问题是,这是什么原因造成的? 它可能是我的脚本或它运行的服务器的问题,还是更可能是用户浏览器中的问题?

- 更多信息 -

我已经找到了损坏的甜饼的用户代理:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Sky Broadband; GTB7.1; Sky Broadband; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sky Broadband) 
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4 
+0

奇怪!这几乎肯定是客户端的一部分。我想如果这种情况很少发生,就没有办法测试它。可能是在客户端计算机上损坏的文件。也可能是坏人试图破坏事物。 – Charlie

+0

您是否意识到,除非您验证“重定向至”网址,否则这样的重定向是安全威胁?例如。网络钓鱼者可以发送一封电子邮件,其中包含指向您网域的所有网址,而实际上它们都在其他地方(黑客的网站)发布。所以你需要使用某种散列来防止它... – haimg

+1

值得注意的是,在ASCII中,[/是紧接在0之前,并且紧接在9之后](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters)。 – nandhp

回答

1

各种“报废”机器人写得不好,充满了错误。我在日志中看到类似的行为,例如不正确的HTML解析器错误地链接,“消毒”或URL编码和URL解码错误的东西等。

所有这一切,而“代理”字符串看起来像普通的浏览器。我被这一次吓坏了,直到我注意到在几秒钟内几百个不同的页面被击中。没有机会,这只是一个人正在冲浪。

因此,我建议您尝试在日志中查看此IP /代理组合访问的内容,如果这是一个机器人,请不要担心。

+1

我没有机会测试这个,但由于赏金结束,没有新的答案出现,这里哟去:) – Galz

0

我会说这是一个客户端故障。但很难说所有的流量,如果你使用例如setcookie()尝试使用$ _SESSION ['sess'] =“cookie”,而不是看看问题是否仍然存在。 我希望这可以帮助, 问候。