Posted in: IT, Mobile/iOS, Website/Blog

Safari浏览器利用脚本自动填充表单

wordpress 或其它许多类似的博客系统,在发表用户评论时一般需要填写三个信息:名字、email、网址(可选)。每次都填进去,很麻烦。虽然很多主题都有“在此浏览器中保存我的显示名称、邮箱地址和网站网址,以便下次评论时使用。”的勾选项,但貌似大部分情况下都无法使用,原因不明。

我的博客起初也是这样,勾选了“自动保存”的选项也不生效。仅仅是保存了cookie。后来自己额外添加了js脚本,直接调用cookie自动填充,搞定, 所有浏览器都能用。

用chrome或firefox等浏览器去访问其它博客时,虽然很多时候无法保存这些表单信息,但由于这些浏览器是支持表单历史的,鼠标在输入框点两下,就会出现以往输入历史,选一下就好了,也方便。

问题出在macbook和iPhone,为了省电,我只用默认的Safari浏览器,它不支持表单历史,在输入框里鼠标点两下是没有反应的。后来寻找的解决办法是:利用快捷指令(shortcut)中的 JavaScript 来操作:

Posted in: IT, Website/Blog

WordPress给评论框添加原生的表情(Smiley)插入功能

Smiley 和 Emoji

Smiley 其实不是 Emoji,虽然现在看起来几乎一模一样,详见 WordPress 官网说明

大家去看一下自己的 WordPress 目录下面的 /wp-includes/images/smilies,可以看到有22个 gif 文件,它们就是 WordPress “上古时代”留下来的 Smiley,样子十分丑陋,长得像这样(列举3个):

但本文描述的 Smiley 是类似于官网上这样的 WordPress 官网说明。事实上这是现代浏览器渲染产生的新字体(而不是像之前那样的 gif 图片,并且 Windows 和 MacOS/iOS 平台有各自的渲染特点。)

🙂 😀 🙁 😮 😯 😕 😎 😡 😛 😐 😉 😆 😳 😥 👿 😈 🙄 ❗ ❓ 💡 ➡

Posted in: IT, Website/Blog

本站开始支持HTTP/3

昨天给博客搬家后,发现新的空间使用的是LiteSpeed服务器。网上查询得知LiteSpeed原生支持HTTP/3,但在浏览器页面只看到2,于是给客服发工单询问,后得到确认LiteSpeed原生支持。

于是重新在浏览器上设置了一下(设置方法网上的教程太多了,不一一列举了),我使用的是Firefox和Chrome的最新稳定版(而不是网上说的开发版),照样可以看到HTTP/3。MacOS BigSur上的Safari14通过设置也能实现。

Posted in: IT, Website/Blog

利用 certbot 给Let’s Encrypt SSL 续期的两种方法

国内主机:推荐 DNS 法来手动续期

国内主机由于对Let’s Encrypt官网连接经常出现问题,因此推荐 DNS 法手动续期。特别是默认的 certbot renew 命令很容易由于网络连接问题导致失败,此时千万不要反复尝试,否则失败多次后直接封你一个星期没商量。惨痛教训。 😥

DNS验证是比较安全的方法,具体参考这篇文章。在此备份一下命令:

# certbot --manual --preferred-challenges dns certonly

然后有两个地方需要注意的,文章没提到:

第一:添加DNS时千万要仔细看清楚域名写的是什么,不是简单一个_acme-challenge 就完事了,因为可能有子域名。

第二:成功之后最好重启一下httpd服务。

这种方法每三个月都得手动操作一次,不能自动

国外主机:推荐 snap 自动续期

snap 的官方全文在此处。其实也没什么特殊的,事实上就是它自动帮你安装了一个list-timers脚本,无需手动去设置cron。

webroot 的坑

官方原文里讲了standalone和webroot两种模式,什么区别呢?比如我的博客 URL 是 https://springwood.me ,用的443端口,不需要80端口。但实际上我必须得用80端口来承接 http://springwood.me,然后重定向到 443 的 https,这种情况下就不能使用standalone模式了,要用webroot。

官方原文里有一个没有提到的坑是:用 --webroot 时必须用 -w 加上具体的目录名字,例如:

# certbot certonly --webroot -w /var/www/html

这里的 /var/www/html/ 是你的域名对应的根目录

然后去看一下 /etc/letsencrypt/renewal/yourdomain.com.conf,最后几行应该是:

[renewalparams]
account = XXXXXXXX
authenticator = webroot
server = https://acme-v02.api.letsencrypt.org/directory
key_type = rsa
webroot_path = /var/www/html,
[[webroot_map]]

这样就对了。

此时可以 certbot renew --dry-run尝试一下。

如果最开始用 --webroot 时没有用 -w 加上具体的目录名字, certbot renew --dry-run就会出现如下错误:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/yourdomain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Simulating renewal of an existing certificate for yourdomain.com
Failed to renew certificate yourdomain.com with error: Missing command line flag or config entry for this setting:
Input the webroot for yourdomain.com:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All simulated renewals failed. The following certificates could not be renewed:
  /etc/letsencrypt/live/yourdomain.com/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

刚才在这坑里折腾了很久。

Posted in: Website/Blog

RSS:从鲜果网到feeder

以下原作于2014年11月

自从Google Reader被墙之后,换到了鲜果网,现在悲剧的时刻到来了:

致鲜果RSS阅读器用户:各位鲜果RSS阅读器用户,很遗憾的通知大家,鲜果团队将在2014年12月12日关闭RSS订阅服务。感谢大家长期以来的支持,希望大家理解我们的这一决定。 鲜果团队今后将更加专注于鲜果客户端的发展,为大家提供更优质的阅读体验。请到各大应用市场搜索“鲜果”或访问http://xianguo.com/apps下载鲜果客户端。 从即日起,RSS阅读器用户可以通过鲜果网导出自己的订阅数据,导出网址:http://xianguo.com/my/opml。用户以前收藏的文章还可以继续登录鲜果阅读。 如您希望继续使用其他RSS订阅服务,可参考罗昭锋老师的迁移教程 http://t.cn/R7gNUUP (同时提供视频 http://t.cn/R7gNUUv). 非常感谢罗昭锋老师! 谢谢! 鲜果团队

接下来先考虑inoreader吧。试用一段时间后再来报告

Posted in: Website/Blog

博客被疯狂刷流量了

以前博客遇到过被植入恶意代码的。这次黑客攻击更隐秘了,今天发现博客的流量居然已经达到了限额的90%(以前流量从来不会超过10%),我下意识的感觉肯定出问题了,马上联系客服。然后明白了需要去看 log 文件。果然,一堆的 IP 在频繁地 GET,几乎每几秒钟一个,简直达到了丧心病狂的程度。这堆 IP 全部来自于同一个地方:福建莆田电信

然后,在客服的指导下,开始向 .htaccess 里面写入语句:

Order Allow,Deny
Allow from all
Deny from XXX.XXX.XXX.XXX

OK,上传之后,再查看 log,所有的这些 IP 的 GET 请求全部变成了 403,表明已经 deny。

在此提醒广大博主:请注意经常监控流量、磁盘以及查看 log。

Back to Top