使用CDN 是个非常好的加速自己网站的方法,经 CDN 加速后可以让网站的打开速度飞起来。
但是,对于 WordPress 系统,其自带的评论部分就不那么好了,因为评论部分是动态加载的,纯静态后会,CDN 服务器会在 WordPress 前台缓存登录者的登录信息和首次评论的评论者所填写的个人信息,这无疑对个人隐私是个大的挑战。如下图所示。
CDN加速后,登录者(例如,管理员)的个人登录信息被直接缓存到 CDN 服务器
CDN 加速后,首次评论的评论者的个人信息被缓存到 CDN 服务器
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
针对上面两种情况,可以通过代码解决。我前边写过一篇文章,提出了解决办法:《WordPress实现CDN纯静态加速,前台不显示管理员登录状态、不保存评论者信息》、《WordPress纯静态化后,cookie记住评论者信息的评论框不能隐藏问题》。
本文主要针对不使用缓存加速插件的用户。
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
首先,针对登录者的个人信息被 CDN 服务器缓存的问题,可以向主题 functions.php 文件中添加以下代码:
- / *
- ** 让管理员在前台访问匿名
- ** 此段代码可参考成航先森的博客:http://www.capjsj.cn/make_known_users_anonymous.html
- * /
- function make_known_users_anonymous() {
- global $current_user;
- if(!is_admin() && $_GET['preview'] != 'true'){
- $current_user = array(
- 'user_login' => '',
- 'user_email' =>'',
- 'user_level' => '',
- 'user_firstname' => '',
- 'user_lastname' => '',
- 'display_name' => '',
- 'ID' => '',
- 'user_url' => '',
- );
- }
- return $current_user;
- }
- add_filter( 'init', 'make_known_users_anonymous' );
针对评论者的信息被保存在 CDN 服务器的情况,可以向主题 functions.php 文件中添加如下代码:
- //让评论者评论后不留下个人信息
- function ignore_existing_comment_cookies() {
- return array( 'comment_author' => '', 'comment_author_email' => '', 'comment_author_url' => '' );
- }
- add_filter( 'wp_get_current_commenter', 'ignore_existing_comment_cookies' );
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved
完成以上操作后,就可以不用担心 CDN 加速导致登录者的登录信息和评论者的个人信息被缓存到 CDN 服务器上的问题了。你也可以在此基础上配合使用WordPress缓存插件。
另外,如果考虑评论 cookies 的问题,可以考虑删除 cookies:remove_action('set_comment_cookies', 'wp_set_comment_cookies');
。
本文禁止无授权转载 - 时光在路上 www.timezls.com 保留所有权利
放心玩 CDN 吧,骚年!不论是百度云加速CDN还是腾讯云CDN加速,实现纯静态网页,都不会感冒!