1

我正在尝试制作一个简单的 PHP 缓存破坏器,但我有一个小问题:如果我这样做,
header('Location: http://localhost:8080?'.time());那么我的 url 将是http://localhost:8080/?1234445,但是我需要的是让它像http://localhost:8080?1234445没有斜杠一样。

请帮帮我,我对 PHP 很陌生。

4

1 回答 1

3

http://localhost:8080/?1234445并且http://localhost:8080?1234445完全一样,根据BNF for URIs。没什么好担心的。

编辑

你真的应该使用更...有效的东西来清除缓存。该帖子的亮点:

解决缓存问题的 URL 不是要走的路。URL 应该代表一种访问内容的方法,仅此而已。

[...] 有一些有意义的标题,你会没事的。

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

永无止境的重定向

我认为正在发生并且已经能够在 Win7 上使用 EasyPHP 5.4.6 (PHP 5.4.6) 重现的是header负责重定向的调用是不受保护的,因此重定向链如下进行:

http://localhost:8080
http://localhost:8080?1367490108
http://localhost:8080?1367490108
http://localhost:8080?1367490109
http://localhost:8080?1367490109
http://localhost:8080?1367490109
http://localhost:8080?1367490110
http://localhost:8080?1367490110
http://localhost:8080?1367490110
http://localhost:8080?1367490111
http://localhost:8080?1367490111
http://localhost:8080?1367490111
http://localhost:8080?1367490112

等等,在重定向的永无止境的尾递归中[直到 Firefox 闻到老鼠的味道]。[信息:上述重定向链的查询字符串中的时间或多或少是假设的。您的平均客户端+连接+服务器组合每秒可以重定向超过三个,并且 Firefox 在重定向循环一秒半后中止。]

于 2013-05-02T09:19:44.673 回答