扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用网站安全检测扫瞄博客 发现了一个漏洞 实际上就是直接访问主题路径的话 get_header()函数未生效(Call to undefined function get_header() ) 而我的WordPress会输出完整的错误信息 将敏感名称的目录结构暴露了 虽然对正常访问没有影响 可是会给某些人可乘之机 经常在博客后台看到很多人扫瞄博客各种路径或文件 尽可能多的解决漏洞 会大大增强网站安全性 秀一下我的博客安全性 分 没有漏洞 虽说只是表面的 但是我会发现一个解决一个!
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站制作、兴宾网络推广、成都小程序开发、兴宾网络营销、兴宾企业策划、兴宾品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供兴宾建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
下面详细说明下我遇到的问题和解决方案 供参考
环境 linux vps + lnmp
完整错误信息如下
Fatal error: Call to undefined function get_header() in /网站根路径/izhangheng/wp content/themes/entyelve/ on line
解决方案 如果WEB应用程序自带错误处理/管理系统 请确保功能开启 否则按语言 环境 分别进行处理 如果是PHP应用程序/Apache服务器 可以通过修改php脚本 配置php ini以及中的配置项来禁止显示错误信息
修改php ini中的配置行: display_errors = off 修改中的配置行: php_flag display_errors off 修改php脚本 增加代码行: ini_set(‘display_errors’ false);
针对这个问题 仅不显示错误信息是不完美的 出错后跳转到首页 可以避免流量丢失 我的环境默认就关闭显示错误信息 只需要在有漏洞的页面源码前调用WordPress函数即可 首先进入到WordPress后台的外观中 比如编辑的是index php首页模版 将头部代码更改为下面的即可 注意所有符号为英文
代码如下 lishixinzhi/Article/program/PHP/201311/21108
禁止访问主页可在后台设置,页面正在设计中。。。
或者通过服务器IIS设置禁止访问
数据库也是影响 WordPress 运行速度重要的因素之一,频繁调用、查询数据库会拖累网站整体的加载速度。今天大挖结合自己的实践操作来
优化一些 WordPress 数据库不必要的查询次数。希望可以帮助到大家有效提升博客的速度。
先给大家分享一段可以在wordpress主题底部显示当前运行时 WordPress 数据库查询次数和内存使用情况的代码:
1
2
3
4
5
6
7
8
9
10
//显示数据库查询次数、查询时间及内存占用的代码
function performance( $visible = false ) {
$stat = sprintf( '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo $visible ? $stat : "" ;
}
add_action( 'wp_footer', 'performance', 20 );
上面的代码,直接放到主题function.php里即可。
优化WordPress 数据库查询:首先需要在 WordPress 的wp-config.php里进行优化操作,具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
define('COOKIE_DOMAIN', '');
//设置地址而不是服务器检查,这将减少服务器查询
define('WP_HOME', '');
define('WP_SITEURL', '');
//优化文章修改历史:Post-Revisioning
define('AUTOSAVE_INTERVAL', 120);// 修改WordPress 编辑器自动保存时间间隔为120秒保存一次
define('WP_POST_REVISIONS', 5);//仅保留保留5个最近修改,也可以减小此数字,但不能太低了
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站,这个自己根据情况设定
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率
//通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。
define('TEMPLATEPATH', '/wp-content/themes/wa');
define('STYLESHEETPATH', '/wp-content/themes/wa');
如果你没有使用缓存插件,开启WP自带的缓存(Cache)功能,并设置缓存时间,是非常必要的事情。
1
2
3
define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能
define('ENABLE_CACHE', true); // 缓存开关
define('CACHE_EXPIRATION_TIME', 3600); // 缓存时间间隔
注:3.0后版本要开始缓存在/wp-includes/default-constants.php中开启,切记哦!
wordpress程序自身会经常向wordpress点抗 的服务器发送请求传送数据,我们可以通过设置wp-config.php来屏蔽此类外部请求的发送,在wp-config.php添加如下代码:
1
2
//禁止WordPress程序发出对外请求
define('WP_HTTP_BLOCK_EXTERNAL', true);
值得注意的是我们在加入以上代码后你的网站将无法对任何一个外部服务器发出请求,如果站长朋友们为了加速网站收录使用了ping功能,加上以上代码后ping功能将会失效。解决方法:我们可以设置对外请求白名单即可解决ping失效问题,代码如下:(以百度ping为例)
1
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu点抗 ');//仅允许 WordPress 向ping.baidu点抗 发送请求
通过 WordPress 的wp-config.php配置完后大家 可以用本文开头分享的代码在源代码里查看和对比一下是不是数据库查询次数和内存使用量有所改善。还有就是要养成提前备份的好习惯,否则后果自负了!
方法一,简单粗暴升级版,将以下代码添加到你WordPress主题的 wp-config.php文件中:
define('DISALLOW_FILE_MODS',true);
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流