恢复『旧博客』失败

博主曾有一个旧博客,但因故于2013年末关闭1,站点数据全部丢失,但数据库得以保存下来,最近计划对其中部分内容进行恢复,并导入到old.hardrain980.com2。但告以失败。

我尝试将数据库直接导入,替换old.hardrain980.com的数据库,但替换后打开页面出现500*3错误…

旧博客关闭时似乎还在使用WordPress 2.x版本,而如今old.hardrain980.com却在使用4.4版本——很有可能年代久远,数据库结构有所改变,因而导入失败,发生500错误。

看来有些想要恢复的文章,只得通过在本地搭建PHP环境,然后用PHPmyAdmin把HTML以纯文本复制粘贴到old.hardrain980.com了…十分麻烦


1、2:在《关于小站》中有所介绍。
*3:500 Internal Server Error,一般由服务器上的Web程序错误所引起。

使用.htaccess中deny from来屏蔽Spammer

Image
广告评论

0*01 背景

最近总有人在我站发表形如”好文章,内容xxxx.禁止此消息:nolinkok@163.com”这样毫无营养的垃圾评论,其中xxxx似乎是随机生成的成语,而站点链接里填写的是某些商业网站,这明显是由发帖机发表的广告评论.

我通过Wordpress的设置将它评论中某部分设为审查关键字,最近访客应该看不到这些垃圾评论,但是我邮箱却不断审查评论通知…这也不是长久之计.所以想到用.htaccess文件屏蔽其ip段


0*02 .htaccess

.htaccess 是Apache HTTP Server的文件目录系统级别的配置文件的默认的名字。它提供了在主配置文件中定义用户自定义指令的支持。 这些配置指令需要在 .htaccess 上下文 和用户需要的适当许可。


0*03 使用deny from

比如上图中 Spammer使用IP 123.182.148.96 106.9.194.193等发表垃圾评论,我就使用了如下命令将其屏蔽.

# Ban IP
order allow,deny
deny from 123.182.148.
deny from 106.9.19
allow from all

对于deny from,有如下常见使用形式:

  1. deny from 123.123.123.123 屏蔽来自123.123.123.123这个IP的访问
  2. deny from 123.123.123. 屏蔽来自123.123.123.*的所有IP(123.123.123.1-123.123.123.255)的访问
  3. deny from all 无条件地屏蔽所有来访的IP

*:使用被屏蔽的ip访问时,服务器返回403页面.

解决WordPress在更新或安装插件/主题时需要输入FTP信息

前段时间在一个美国VPS上搭建了LAMP环境 并安装Wordpress

可是出现了一个问题:每当Wordpress执行与站点文件相关的操作时都或会要求输入FTP信息(包括主机名FTP用户名密码,在安装插件/主题或升级时),要么就是失败(在向媒体库上传内容时)

Image
要求输入FTP信息(网络图片,出自http://www.oschina.net/question/1467780_147338)

一次一次手动填写不费事么 就算用了浏览器的”保存密码”功能,每次点个确定也挺麻烦.


所以可以这样解决:

1.用FTP将站点根目录下的wp-config.php拉取到本地

2.用文本编辑器打开wp-config.php,并向其中添加如下内容:

define('FTP_HOST', 'localhost'); 
define('FTP_USER', 'ftpuser'); 
define('FTP_PASS', 'password');

第二行的ftpuser和第三行的password根据自己账户的实际情况来修改

3.保存,上传回原来路径

4.*这个FTP账户必须对站点文件夹(比如/var/wwwroot)有写入权限,我直接就用chmod 777 /car/wwwroot -R

解决多说评论框不支持SSL

最近小站开了全站SSL,因为发现启用后台SSL后,加密文章不能正常的输入密码来显示(抓包发现当点击确认时,WP会向/wp-login.php发一个post,但是链接是HTTP开头,估计因为这个所以无法验证密码,故无法访问设密码的文章)

然后为了解决上述问题我打开全站SSL,发现多说评论框无法正常显示…于是暂时换回WP原生的评论框(即:停用『多说』插件),但由于差劲的某公司主机不能使用PHP Mail();函数,导致无法发邮件通知收到评论的文章作者。所以最近有琢磨着重新启用『多说』


启用多说后我打开Chrome的开发者工具然后再访问一个本应有多说评论框的页面,果然评论框处只有文字,然后我去看了一下Console选项卡,里面有个错误:Blocked,大致意思是说页面已经使用https加载,但网页上的一个来自http://static.duoshuo.com的,名称为embed.js内容也使用Https加载*。