标签存档 » ‘Themes’
聆听杂志偶然发现访问WordPress Themes风格目录时会报错,如访问http://www.skyoy.com/wp-content/themes/elegant-box/会提示如下错误。
1 2 3 | Fatal error: Call to undefined function get_header() in /home/skyoy/domains/skyoy.com/public_html/wp-content/themes/elegant-box/index.php on line 1 |
蛋疼地测试过很多朋友WordPress的博客风格目录,发现绝大多数人的WordPress风格目录会报错,不过也有某些蛋疼的人已经做出修改,通过跳转到相应的设置页防止掉报错。
WordPress Themes物理路径暴露漏洞的起因:Wordpress的Themes模版文件,缺少访问验证,直接访问模板里的文件,从而使得物理路径泄露。幸运的该路径暴露不是PHP漏洞,是WordPress的Themes模版漏洞。WordPress官方貌似在2.5版本的时候就已经修正掉漏洞,可是很多模版制作者并没有引起重视,仍然未修正相应的错误。
解决办法:通过在WordPress Themes模板里的文件头部加上以下代码限制访问权限,可以防止泄露路径。
使用Wordpress后用过2款主题,默默の丸的G7 v1和MG12的Elegant Box,使用的主机一直是梦游的虚拟主机,业内较好的服务器提供商哦,MJJ人也很好哦,今年比较折腾,都是个人原因(想测试下是不是主题引起的速度问题,呵呵 我比较笨,其实换主题就可以测试的哦),我换了3个服务器,从梦游的VHOST到HOST3,然后到现在的HOST8,MJJ都耐心地帮俺换了,可是还是会经常卡住页面,如果是服务器问题,应该会有人在梦游的论坛或者Q群里上反映,可是没,揣测可能是主题引起的。
聆听杂志使用的主题是MG12的Elegant Box主题,(PS:其他主题也一样可以照这种方法修改哦。)默认的(header.php)文件显示效果是:
首页显示:聆听杂志
其他页面:聆听杂志-单篇日志标题
1 | <title>< ?php bloginfo('name'); ?>< ?php wp_title(); ?></title> |
第一次修改如下,不过自己不是太满意。
首页显示:聆听杂志 - 副标题
TAG显示:Tag:XXOO - 聆听杂志
1 2 3 | <title>< ?php if ( function_exists('wp_tag_cloud') ) : if (single_tag_title(' ', false)) { echo 'Tag: ' ; } endif; ?> < ?php wp_title(' '); ?>< ?php if (wp_title(' ', false)) { echo ' | '; } ?> < ?php bloginfo('name'); ?> - < ?php bloginfo('description'); ?></title> |
经过继续折腾,如下:
因国内访问Gravatar速度缓慢,加上空间服务器不是特别稳定,所以启用了头像缓存。方法在网上找的,写这个缓存插件介绍的人很多,在此表示感谢,就不一一列出了,偷来直接修改用了,这里仅做个备份,让用Elegant Box这个主题的朋友便于修改。
1. 去作者主页下载,解压后上传,我放在根目录 gravatar 目录下。注意:这个不是插件Plugins,只是一个缓存的组件,所以不用上传到Plugins目录。
2. 本地新建avatar.php文件,写入下面的代码以utf8保存,上传到 profile 文件夹内。
1 2 3 4 5 | < ?php $config['default'] = 'http://www.skyoy.com/gravatar/cache/avatar.png'; //无头像时返回的默认头像路径 $config['rating'] = 'X';//gravatar的内容级别 $config['size'] = 32;//头像尺寸 ?> |