我们有一个系统,在该系统中,我们将一个nonce从服务器上的PHP脚本传递到运行客户端的AJAX调用,然后再次返回以检查请求的有效性。
这个nonce是缓存的,我们不知道如何排除它。我们将缓存时间设置为10小时,但后来将其减少到8小时。
但假设nonce在上午12点续订,缓存在上午10点续订,即使缓存为8小时,我们仍然有6小时的nonce不工作。
我们如何解决这个问题?
我们有一个系统,在该系统中,我们将一个nonce从服务器上的PHP脚本传递到运行客户端的AJAX调用,然后再次返回以检查请求的有效性。
这个nonce是缓存的,我们不知道如何排除它。我们将缓存时间设置为10小时,但后来将其减少到8小时。
但假设nonce在上午12点续订,缓存在上午10点续订,即使缓存为8小时,我们仍然有6小时的nonce不工作。
我们如何解决这个问题?
找到特定的AJAX调用URL,并使用WP Rocket advanced rules设置阻止缓存该URL。https://docs.wp-rocket.me/article/54-exclude-pages-from-the-cache.
根据您的评论,您需要一种策略来避免nonce出现在可以缓存的文件中,例如javascript文件,所以正如您所说的,使用PHP生成nonce并将其传递到javascript文件之外。
我在购物车页面上遇到错误“Call to undefined method WooCommerce::nonce_field()“。Fatal error: Call to undefined method WooCommerce::nonce_field() in C:\\xampp\\htdocs\\stemorg\\wp-content\\themes\\breeze-child\\woocommerce\\cart\\cart.php on line 120运货马车php第120行代码如下:$wo