首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Ajax心跳包括在我缓存的前端页面中?把它处理掉可以吗?

为什么Ajax心跳包括在我缓存的前端页面中?把它处理掉可以吗?
EN

WordPress Development用户
提问于 2018-03-05 17:01:07
回答 1查看 599关注 0票数 2

我最近想用Apache的基本地址来保护WP站点的/wp-admin文件夹,以提供一个粗糙但有点有效的额外安全层(如果WP安装意外过时或出现漏洞,作为第二道防线)。

然而,当我这样做,我立即注意到,该网站的缓存前端页开始显示认证对话框,也!

这似乎是因为Ajax心跳包含在所有前端页面中:

代码语言:javascript
复制
var cnArgs = {"ajaxurl":"https:\/\/www.example.com\/wp-admin\/admin-ajax.php","hideEffect":"fade","onScroll":"no","onScrollOffset":"100","cookieName":"cookie_notice_accepted","cookieValue":"TRUE","cookieTime":"7862400",
"cookiePath":"\/","cookieDomain":".example.com","redirection":"","cache":"1"};

代码语言:javascript
复制
/* <![CDATA[ */
var pvcArgsFrontend = {"mode":"js","requestURL":"https:\/\/www.example.com\/wp-admin\/admin-ajax.php","postID":"5","nonce":"e0785f90be"};
/* ]]> */

我理解心跳在后端和登录用户的目的,但在公共前端使用它似乎是没有意义的(而且这显然是不必要地破坏了我保护wp-admin目录的密码。)

我能安全地注销脚本吗?还是有一个很好的理由来解释它的存在?

EN

回答 1

WordPress Development用户

发布于 2018-03-05 21:05:55

不,锁定或阻止对wp-admin和/或子目录的访问是不行的。不仅你已经提到了这是一个粗糙的方法,它可能而且很可能会破坏网站,这取决于它的主题/插件。

原因是某些插件或主题依赖于admin-ajax.phpadmin-post.php来完成某些任务。这就是为什么源中有额外的全局变量。

例如,pvcArgsFrontend变量属于后视计数器插件,它使用admin-ajax.php更新post的视图计数。如果你阻止wp-admin,你就知道会发生什么。

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/295844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档