Php 如何删除浏览器缓存?

Php 如何删除浏览器缓存?,php,javascript,browser,caching,Php,Javascript,Browser,Caching,我有一个图像网站,用户可以投票的图像。图像是随机生成的第一页!一旦他们投票,他们将使用window.location重定向到图像详细信息页面。如果他们单击“上一步”,他们将从浏览器缓存中看到相同的图像,并且他们可以无限次地投票 如何删除缓存?我希望在单击“上一步”按钮时刷新第一页!我已经使用了: <meta http-equiv="Pragma" content="no-cache"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="

我有一个图像网站,用户可以投票的图像。图像是随机生成的第一页!一旦他们投票,他们将使用window.location重定向到图像详细信息页面。如果他们单击“上一步”,他们将从浏览器缓存中看到相同的图像,并且他们可以无限次地投票

如何删除缓存?我希望在单击“上一步”按钮时刷新第一页!我已经使用了:

<meta http-equiv="Pragma" content="no-cache">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="Expires" CONTENT="-1">


谢谢

您不想使用客户端检查来阻止用户多次投票。那太傻了


您希望在服务器上检查用户是否已经为该图像投票,如果是,请将他们引导到您已经为该页面投票的OOP,并且不计算投票数。

在此处使用location.replaceURL\u;而不是location.href=URL\u;将阻止重定向在用户历史记录中创建新条目。但我仍然认为Anon的答案绝对正确。

如果黑客禁用了JS怎么办

我建议您做一些其他事情:

限制每24小时可投票的图像数量 将所有投票保留在DB中24小时 给注册用户更高的最大投票限制
您需要动态地将图像提供给用户,而不是指向目录中的文件。所以你有一个

image.php?id=1234 
在image.php中,您几乎只需打开图像,对其进行解码,然后将其打印到浏览器中。由于图像是通过编程方式检索的,因此您可以简单地阻止它或强制在其上创建新图像。如果您不希望用户检索特定的图像,并且希望始终提供随机图像,那么根本不要在url中使用ID,只需提供随机图像文件即可

它还有助于在url中插入无用的随机数据,在这种情况下,生成UUID将是一个好主意。所以,即使你采用了一个解决方案,也要做如下的事情

print '<img src="'. $image .'?'. uniqid() .'">';

这不是什么灵丹妙药,但它是防止图像缓存的另一个技巧。

投票不会添加到数据库中,但我希望用户在单击“上一步”获取新图像时使用它!当然,他们不能多次投票。。。。我不使用任何形式,我使用javascript和AJAX进行投票。即使你停止缓存,人们也会找到一种方法,也许可以通过在新选项卡中打开链接。您可以在图像页面上添加“给我新图像”链接,这样他们就可以轻松查看新图像。
print '<img src="'. $image .'?'. uniqid() .'">';