php - 我们如何在用户使用javascript登录时强制删除缓存

标签 php javascript caching

谁能告诉我如何使用 javascript 删除浏览器缓存。我想要这个,因为我正在给用户提供带有 url ('http://www.example.com/docs/doc1.xlsx') 的下载文件。并且只有该特定用户才能访问这些文件。

我正在检查 htaccess 重定向到其他操作,如果用户没有访问权限,则重定向到该特定文件 url,然后访问被拒绝页面出现。

但问题是,当有效用户下载该文件并从应用程序注销并复制到 url 上方并在浏览器上按回车键时,文件会在不访问服务器的情况下进行下载,这是由于浏览器中的缓存而发生的。

所以我想在用户退出系统时删除缓存。

我们非常欢迎其他解决方案。

最佳答案

简而言之,你不能(或者,至少,我从未见过这样做的方法)。

您需要通过发送正确的缓存清除 header 在服务器端执行此操作。像这样的东西:

Cache-Control: no-cache, must-revalidate, max-age=0

您可以使用(从 the PHP documentation 窃取示例):

header("Cache-Control: no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

关于php - 我们如何在用户使用javascript登录时强制删除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804767/

相关文章:

javascript - 两个指令之间的 Angular 指令范围共享

javascript - 多聚合查询 MongoDB

php - Imagick:使用 mask 组合

java - 如何RSA验证在php中生成的java中的签名

javascript - Angular 2 中的动态模板 URL

php - 缓存来自 Facebook 的 Open Graph 结果的最佳方式?

python - 缓存通过 API 获取的在线价格,除非它们发生变化

android - 为什么 dex 文件存储在我的应用程序的缓存目录中?

php - 如何在 PHP 中同步两个文件夹?

php - 通过 MySQL/PHP 在 CRUD 网格中实现年龄属性