在web 应用开发中,我们通常会对一些敏感参数进行加密,来提高安全性,这里提供了一种在curl 中加密和解密的实现方案,可以自定义密匙和有效期。具体实现代码如下:
nginx 支持https 访问,前提是要开启nginx的ssl模块,若没有安装则需要重新编译,编译安装时带上–with-http_ssl_module配置就可以了,另外证书在阿里云里申请免费Https证书SSL,在阿里云控制台:产品->安全->SSL证书(地址:https://www.aliyun.com/product/cas?spm=5176.7968328.1280361.172.43031232FbNLsT) 选择免费的证书类型完成购买即可。
RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新手对它不太了解。下面仅作简要介绍。RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。下面为具体类、实例:
其中encode方法中传进两个参数,$utf8Data, $sRetFormat,第一个参数为传入的中文,字符编码为utf-8,如果不是这个编码要转换成utf-8,第二个参数head:首字母all:全拼音,返回值为转换后的拼音。
1、http://localhost/index.php/Home/H1/index.html
结果:
$_SERVER['QUERY_STRING'] = "";
$_SERVER['REQUEST_URI'] = "/index.php/Home/H1/index.html";
$_SERVER['SCRIPT_NAME'] = "/index.php";
$_SERVER['PHP_SELF'] = "/index.php/Home/H1/index.html";
2、http://localhost/index.php/Home/H1/index.html?key=test (附带查询)
结果:
$_SERVER['QUERY_STRING'] = "key=test";
$_SERVER['REQUEST_URI'] = "/index.php/Home/H1/index.html?key=test";
$_SERVER['SCRIPT_NAME'] = "/index.php";
$_SERVER['PHP_SELF'] = "/index.php/Home/H1/index.html";
由实例可知:
$_SERVER["QUERY_STRING"] 获取查询 语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取 http://localhost 后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名
Cron表达式说明
Cron表达式是一个字符串,字符串以空格隔开,分为 5 或 6 个域,每一个域代表一个含义,系统支持的表达式格式如下:
Seconds Minutes Hours DayofMonth Month [DayofWeek]
其中 DayofWeek 为可选域。
每一个域可出现的字符如下:
Seconds: 可出现"* / , -"四个字符,有效范围为 0-59 的整数
Minutes: 可出现"* / , -"四个字符,有效范围为 0-59 的整数
Hours: 可出现"* / , -"四个字符,有效范围为 0-23 的整数
DayofMonth: 可出现"* / , - ?"五个字符,有效范围为 0-31 的整数
Month: 可出现", - * /"四个字符,有效范围为 1-12 的整数或 JAN-DEC
DayofWeek: 可出现"* / , - ?"五个字符,有效范围为 0-6 的整数或 SUN-SAT 两个范围。0 表示星期天,1 表示星期一, 依次类推