9月
08
因为有阿里云,ssl 证书,都是通过 阿里云盾证书服务
来申请的。免费,方便。但也有缺点。这个证书只能使用一年,且不支持泛域名,一个服务器最多支持 20 个证书。这样,如果域名多,也烦。 后来发现了 Let's Encrypt
, 发现了 acme.sh
。想来试试这个。
了解了解
Let’s Encrypt 作为一个公共且免费 SSL 的项目逐渐被广大用户传播和使用,是由 Mozilla、Cisco、Akamai、IdenTrust、EFF 等组织人员发起,主要的目的也是为了推进网站从 HTTP 向 HTTPS 过度的进程,目前已经有越来越多的商家加入和赞助支持。
Let’s Encrypt 免费 SSL 证书的出现,也会对传统提供付费 SSL 证书服务的商家有不小的打击。到目前为止,Let’s Encrypt 获得 IdenTrust 交叉签名,这就是说可以应用且支持包括 FireFox、Chrome 在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。
Let’s Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。
在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称 CA。相应的,CA 验证过的公钥被称为证书。
问题是,如果服务器私钥泄露,CA 无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到 CA 发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前 CA 验证和签发证书大多手动,证书有效期往往在一年到三年。
Let’s Encrypt 签发的证书有效期只有90天,甚至希望缩短到60天。有效期越短,泄密后可供监控的窗口就越短。为了支撑这么短的有效期,就必须自动化验证和签发。因为自动化了,长远而言,维护反而比手动申请再安装要简单。
证书的有效期,我坚持认为这是合理的。Let’s Encrypt 的证书是自动签发的,对 Let’s Encrypt 的目标用户(个人网站、小网站)来说,90天已经是一个很长的时间了。特别是个人网站,域名所有权的变动是非常快的。可能前几天域名还属于张三,后几天就属于李四了。因此自动签发一个长有效期的证书是很容易产生问题的。如果证书的有效期是两年,那么经常交易域名的人就可以长时间持有已经不属于他们的域名的证书。并且这种持有不受证书吊销列表的控制,因为签发的时候,所有权是没有问题的,即使后来所有权变更了,Let’s Encrypt 也不会知道。所以设的有效期短一点,可以减少这个问题的影响。然后是易用性,现在已经有不少的 Let’s Encrypt 自动续期脚本了,配好后就不用管了,非常方便。
总之,强烈推荐站长和服务器平台用 Let’s Encrypt 向访客提供加密连接。这是域名认证未来的发展方向。
参考,了解更多
https://www.bluesdream.com/blog/tag/acme-sh
https://www.zhoutao.org/blog/2018/05/773.html
https://www.cnblogs.com/clsn/p/10040334.html
8月
13
laravel 7 开始, 以新的日期序列化格式日期。如 2020-03-04T20:01:00.283041Z
这对我们很不友好。得想办法处理。
laravel 7 升级指南
按照官方的意思,在 model 中,增加下边的函数:
protected function serializeDate(DateTimeInterface $date)
{
return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
}
一种方式是,写一个父类,父类中写入该方法。但是,继承并不是一个很好的实现方式。这里,我们使用 trait 来解决。
继续阅读
8月
12
为什么要开通腾讯商户开通企业付款到零钱呢。开通了这个,用户就可以通过接口的方式来进行提现了。这样就可以达到你的产品收入,支出的自动化。
开通条件
- 你要知道有这个功能,想到有这个功能。
- 诡异的是在腾讯商户的后台页面,根本没这个按钮,这个是最让人伤心和郁闷的地方。
那么,官方给出的开通条件呢。
- 入驻满90天
- 连续正常交易30天 (这个要很小心,不能断)
- 保持正常健康交易
没开通点击的按钮,可以点击链接进去:
https://pay.weixin.qq.com/index.php/public/product/detail?pid=5&productType=0
然后点击申请开通,不满足肯定开通不了的。继续去累条件吧。
8月
08
参考链接
https://www.cnblogs.com/xuexianqi/p/12797170.html
按照上班的链接的方法,以及其提供的安装包是可以完美破解使用的。只是有一点需要注意,在使用破解机的时候 patch 一定只点击一次。如果次数多了,在破解的时候就会出现 Rsa Public Key not Find 这样的错误。事情既然已经发生了,那还可以挽救么。当然可以。
下边这篇就是挽救的办法。卸载,清理注册表。从新操作一波。
https://blog.csdn.net/weixin_44452446/article/details/106470981
7月
31
前边写了一个 laravel mix vue 的基本构造使用。虽然那种结构能跑起来,可受限 laravel 自己的功能。这次,要利用 vue 的优势,elemeui 的优势,独立去构建项目。
前边一部分操作是一样的。
从零开始操作
这里以 laravel7 为例子,来使用 vue。
先安装 laravel 7
composer create-project laravel/laravel --prefer-dist testvue.cn "7.*"
cd testvue.cn
# 查看 laravel 的版本(发现是 7.22.4)
php artisan -V
# 创建 git 仓库
git init
git add .
git commit -m 'laravel 7.22.4 initialize'
浏览器访问 testvue.cn, 发现能正常访问到 laravel 基础页面(之前已经配合域名映射这些)。
继续阅读
7月
31
laravel 初始化是不带 ui 这些的,可它天生支持 bootstrap,vue,react 这些。只需要安装配置下即可。
从零开始操作
这里以 laravel7 为例子,来使用 vue。
先安装 laravel 7
composer create-project laravel/laravel --prefer-dist testvue.cn "7.*"
cd testvue.cn
# 查看 laravel 的版本(发现是 7.22.4)
php artisan -V
# 创建 git 仓库
git init
git add .
git commit -m 'laravel 7.22.4 initialize'
浏览器访问 testvue.cn, 发现能正常访问到 laravel 基础页面(之前已经配合域名映射这些)。
继续阅读
7月
30
laravel 写接口的时候,通常会建立 request。在 request 中验证一些参数。这个时候用 postman 或其他请求时候,会发生返回 html 的情况,非 json 格式。该么处理呢。
简单操作一下
TestController.php
public function store(TestRequest $request)
{
$result = $request->only(['name', 'num']);
return response()->json($result)->setStatusCode(201);
}
继续阅读
7月
01
一、建表规约
1.【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否),此规则同样适用于 odps 建表。
说明:任何字段如果为非负数,必须是 unsigned。
2.【强制】表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。
正例:getter_admin,task_config,level3_name
反例:GetterAdmin,taskConfig,level_3_name
3.【强制】表名不使用复数名词。
说明:表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于 DO 类名也是单数形式,符合表达习惯。
4.【强制】禁用保留字,如 desc、range、match、delayed 等,请参考 MySQL 官方保留字。
继续阅读
6月
04
在某些时候,为了数据的安全和保密性,需要对来回的数据进行加密处理。如果是 laravel 框架,中间件绝对是个好东西。
一波操作
laravel 中间件包含一个完整的工作流,即请求前中间件(request)和请求后中间件(response)。在我们这次的场景中,刚好很好的用到了整个流程。
操作开始:
继续阅读