saber 酱的抱枕

Fly me to the moon

07/22
2017
软件

解决了使用https加www访问本站的错误

https://www.saber.love/ (原始输入)
https:/ (期望的最终结果)

最近不止一个人跟我说访问本站页面出现了404,后来我深♂入了一下,发现出现这些404的情况是上面原始输入里面的情况,url是https协议带www的。

但本站以前设置过把www的转换成不带www的规则,我以为这样的输入应该会被转换为下面的正确形式,但是试了一下果然不行。我一开始以为是重定向规则或者url重写规则出了问题,最后才想起来域名解析这一块。我去IIS里看了看,之前没绑定https协议下的www.saber.love,绑定上就好了。

话说访问本站没必要加www,少敲点字符可以节约生命(+1s)。

解决了使用https加www访问本站的错误

07/12
2017
软件

吐槽360

办公室里有个电脑我前几天才重装了系统,很干净的系统,结果刚才那个同事说电脑卡。这才用了三天啊。

我过去看了一眼屏幕右下角,看到了360,就说你把360卸了吧。他不想卸,说卸了也没用。

我和他说,卸了总比不卸好,之后他竟然说:我就是因为电脑卡才装了360。

卧槽他还指望用360加速球(负优化)来加速系统还是怎么的?我无fuck说,只能送他一句:“那随便你吧”,转身走了。

以前我见过有些人,用360的理由是“不用360我用什么杀毒啊”,一幅不知道世界上还有其他杀毒软件的样子。但这么些年了我还是头一次看到有人因为电脑卡主动装了360。就让他这么卡着吧。

吐槽360

07/9
2017
软件

IIS的文件防盗链处理

首先安装官方的URL Rewrite Module(URL 重写模块),之后配置检测referer 的规则即可。

配置有两种办法,一个是在IIS 里找到这个URL 重写模块,通过可视化操作设置规则。

另一个办法是直接在网站根目录的web.config 里添加规则。我用的是后一种办法。

在web.config 里添加一条规则:

<rule name="Prevent hotlinking">
	<match url="^.*\.(jpg|png|gif)$" ignoreCase="true" />
	<conditions>
		<add input="{HTTP_REFERER}" pattern="https://simple.com/.*" negate="true" />
	</conditions>
	<action type="CustomResponse" statusCode="403" />
</rule>

这样就ok了。

iis URL Rewrite Module Windows Server 2012 防盗链 referer

如果最后你不想显示403状态码,而是显示一个自定义图片的话,可以把action 改成这样:

<action type="Rewrite" url="/img/bitch.png" />  

如果想要允许复数的referer ,可以把add 规则复制,按自己的需要修改pattern 参数。

Read More →

IIS的文件防盗链处理

07/7
2017
学习 软件

使用MySQL命令行恢复phpMyAdmin导出的sql文件

数据库的备份与恢复是个常见的问题,但是不同备份工具备份出来的.sql文件内容与格式不尽相同。

对于phpMyAdmin导出的sql文件,似乎用phpMyAdmin恢复比较容易。但我用其他一些MySQL数据库管理工具经常无法恢复成功(如使用Navicat for MySQL、HeidiSQL运行转储的sql文件,没有任何效果)。今天我试了下用MySQL命令行恢复phpMyAdmin导出的sql文件,感觉比较好使,记录一下。

恢复之前先手动创建一个空的数据库,编码和排序方式按需要选择。比如dedecms和WordPress默认的都是utf8_general_ci。

之后运行MySQL命令行,输入密码开始使用。

之后依次输入命令(按需要修改):

use databasename;
set names utf8;
source d:\desktop\simple.sql;

如下:

 database mysql phpmyadmin sql 恢复 数据库

记得输入分号,否则第二个命令会跑偏。

输入第三条之后就开始恢复了,等到执行完毕就ok了。

其实前两条命令,有些工具导出的sql文件里已经有了,有的没有(phpMyAdmin导出的就没有,这应该也是直接运行它备份的sql文件时无法恢复数据的原因)。所以有些工具备份的sql文件可能比较容易恢复,有的就要手动输入命令了。

使用MySQL命令行恢复phpMyAdmin导出的sql文件

07/7
2017
软件

百度离线宝调用API

百度离线宝是百度推广后台的一个功能,它默认的代码会在网页上生成一个输入电话并拨打的功能。但如果我们想在自己做的按钮上调用它的功能,默认代码就做不到了,我们需要调用它的API JS文件。

如下图的按钮:

api javascrip js 电话 百度 离线宝

代码如下:

<input type="text" name="vtel" id="vtela" value="输入您的电话号码">
<input type="button" name="cbBtn" id="cbBtna" value="点击拨打">
<script>
	// 输出离线宝js文件,注意替换uid为自己后台的id
	document.write('<script data-lxb-uid="百度推广后台userid" data-lxb-gid="" src="http://lxbjs.baidu.com/api/asset/api.js?t='+new Date().getTime()+'" charset="utf-8"></scr'+'ipt>');
	// 通过按钮调用离线宝功能
	$("#cbBtna").click(function () {
		lxb.call($("#vtela").val());
	});
</script>

百度离线宝调用API

07/2
2017
软件

windows+IIS 申请 Let's Encrypt 证书相关记录

https iis Let's Encrypt ssl windows server 教程 证书

因为最近网站搬到了vps上,我也开始考虑申请ssl证书,把网站升级到https。

但是说到证书这一块,就又触及到我的知识盲区了。后来还是找了教程摸索出来的。

申请Let's Encrypt 证书教程:
《windows申请免费SSL证书-Let's Encrypt》
(申请Let's Encrypt 证书有很多不同的途径,使用的工具和步骤也不尽相同,我这个办法好像比较麻烦,不过能对流程有个大致的了解。另外有一些我踩过的坑,我会在文末附加说明)

证书申请完成之后,如何导入到 IIS 以及在网站里绑定,参考下面文章的 IIS 部分:
《IIS部署SSL,.crt .key 的证书》
ps:导入pfx文件的时候密码不用填。

此外还需要将http请求的页面自动跳转到https,参考教程:
《(各种版本) http怎么做自动跳转https?》

我添加了里面的iis的规则,可以正常使用。
Read More →

windows+IIS 申请 Let's Encrypt 证书相关记录

06/29
2017
软件

网站搬家记录

现在的网站:

 Apache iis web.config wordpress 伪静态 教程 经验 网站搬家

(话说IIS 8.5 比起IIS 6真是方便了太多)

以前我的网站用的是香港的一家虚拟主机,从一开始到现在,三年的时间都是在用那个空间。(主机商是51php,总体上满意,售后服务挺好。以后不用它了,就当做是帮它宣传一下吧)

其实我的网站只占用极少的磁盘空间和数据库空间,只有流量用的多。随着流量逐渐增长,我也不断升级主机套餐,最近又面临不得不升级的情况,我觉得不能再这样继续下去了,正好最近尝试了vultr的vps,所以打算把网站搬到vultr上面去。

本月的主机使用情况:

 Apache iis web.config wordpress 伪静态 教程 经验 网站搬家

其实现在套餐的流量是30GB/月,前几天就用完了,现在的45GB是我让客服临时加了点。虽然我最近做了些优化措施,但预计以后每月流量仍会达到20GB以上,现在这个套餐的流量未来也会不够用。

相比现在的虚拟主机,vultr的vps有诸多优势:
1.价格不贵,5美元/月,一年也就400RMB,和我现在这个虚拟主机套餐差不多是相同价位,但流量上限高得多;
2.vps可直接登陆操作系统,管理网站更为便捷,可以摆脱掉ftp了,对网站的控制也更加随心所以了;
3.避免一些奇葩的事情,比如之前我发现我的主机被禁止google抓取了,后来我找客服解除了限制。
3.vps作为一个操作系统,能做的事情比只能放网站的虚拟主机强多了,最简单的应用就是充当vpn上网。其他的比如架ss什么的我还没研究过。

我原来的虚拟主机的环境是Linux + Apache,但因为我不会linux,所以vultr上我安装的是windows + IIS。这个搬家的过程也踩了不少坑,也记录一下吧。
Read More →

网站搬家记录

06/24
2017
软件

mysql首次安装却需要输入current password的问题

current password mysql 数据库

如果你以前在操作系统上安装过MySQL,那么当你重新安装MySQL时,会要求你先输入旧的密码(current password),才能设定新密码。

但是我刚才在一个新系统上安装MySQL,却也提示我输入current password。一开始我不知道这是什么鬼,随便填了个“root”,结果MySQL安装失败,报错:

Unable to update security settings. Access denied for user 'root'@'localhost' (using password: YES)

百度后发现这个问题在于current password密码不对,可是这个系统上以前根本没有安装过MySQL,怎么会要求输入current password呢?

后来我仔细思索,发现了问题所在。MySQL安装时会让我们选择数据库存放目录,当时我在D盘新建了个“database”文件夹,然后在安装路径里填入这个文件夹。MySQL当时就出现黄色感叹号,提醒:文件夹已存在。

当时觉得没什么,后来一想果然是这个原因。如果数据库目录是个已存在的目录(即使是空的),MySQL也认为以前安装过,就要求输入current password。

那么解决办法呢,有两种方式:
1.删除database文件夹,然后重新安装MySQL,让它自己去建立这个文件夹。
2.current password留空,不填即可。

mysql首次安装却需要输入current password的问题

06/22
2017
学习 软件

自动解除ikanman.com上被屏蔽的漫画的用户脚本

在greasyfork.org上安装本脚本

自动解除ikanman.com上被屏蔽的漫画。当你在ikanman上看漫画时,country会被设置为US,以此解除屏蔽。

被屏蔽的漫画示例:《出包王女Darkness》

ps:本脚本分离自 《仙尊ikanman、omanhua漫画下载器》,如果你安装了这个下载器,就不需要再安装本脚本了。

被屏蔽时:

 cookie ikanman.com javascript js manga UserScript 漫画 用户脚本 解除屏蔽

自动解除屏蔽:

 cookie ikanman.com javascript js manga UserScript 漫画 用户脚本 解除屏蔽

自动解除ikanman.com上被屏蔽的漫画的用户脚本

06/21
2017
软件

在Windows Server 2012 中安装 .NET 3.5 Framework失败的问题及解决办法

今天因为公司业务需要,我去试用一台云主机看看情况。操作系统是Windows Server 2012 ,因为安装IIS8需要一起安装.NET 3.5 Framework ,然而安装失败了,为这个问题折腾了好久。

首先在“添加角色和功能向导”里选择.NET 3.5 Framework:

 .NET 3.5 Framework iis8 sxs Windows Server 2012
Read More →

在Windows Server 2012 中安装 .NET 3.5 Framework失败的问题及解决办法