2017年5月

我使用的阿里云虚拟主机,发现Typecho插件CommentToMail用3种发信方式,不管哪一种发送邮件总是失败

从网上了解到:阿里云虚拟主机屏蔽了mail()函数和stream_socket_client()函数,但是可以使用使用fsockopen函数来发信
链接:阿里云虚拟主机PHP程序使用fsockopen方式发信代码样例

......

阅读全文

解决方法

1.关闭反垃圾保护(觉得没有什么用,而且用户体验不好)
2.修改/var/Widget/Security.php文件,在50行左右,修改为如下代码:

    public function getTokenUrl($path)
    {
        $parts = parse_url($path);
        $params = array();

        if (!empty($parts['query'])) {
            parse_str($parts['query'], $params);
        }

        $params['_'] = $this->getToken(preg_replace('/\?_pjax=%23body/', '', $this->request->getRequestUrl()));
        $parts['query'] = http_build_query($params);

        return Typecho_Common::buildUrl($parts);
    }

做到这一步就可以正常提交评论了

......

阅读全文