欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

某些浏览器缓存验证码,导致重新打开该页面时总提示验证码过期。

程序员文章站 2022-05-12 19:11:44
...
刷新浏览器就正常。
怎么解决,有什么代码可以强行让验证码重新载入的。


回复讨论(解决方案)

生成地址后面加个js随机参数,url?r=Math.random()

某些浏览器缓存验证码,导致重新打开该页面时总提示验证码过期。

某些浏览器缓存验证码,导致重新打开该页面时总提示验证码过期。

你在验证码图片生成程序中加入禁止缓存的头

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the pastheader ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1header ("Pragma: no-cache");                          // HTTP/1.0
就可一劳永逸的解决这个问题,而不必每到使用时去改变url

Math.random()

已经有了,可是不行,现在代码是:
某些浏览器缓存验证码,导致重新打开该页面时总提示验证码过期。

某些浏览器缓存验证码,导致重新打开该页面时总提示验证码过期。


都加上了,也不行

你在验证码图片生成程序中加入禁止缓存的头

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the pastheader ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1header ("Pragma: no-cache");                          // HTTP/1.0
就可一劳永逸的解决这个问题,而不必每到使用时去改变url

加这个也不行