叶测试 发布的文章

利用DatePeriod 类获取两个日期之间的所有日期

官方文档:https://www.php.net/manual/zh/class.dateperiod.php
DatePeriod 类表示一个时间周期,时间周期内允许对一组日期和时间进行迭代,在指定的时间间隔内定期重复。
注意:8.2 新增 DatePeriod::INCLUDE_END_DATE

/**
 * 获取两个日期间的所有日期
 * @param $startDate 2023-04-01
 * @param $endDate  2023-04-19
 * @param $format
 * @param $last 是否包含最后一天
 * @return array
 * @throws Exception
 */
function getDateRange($startDate, $endDate, $format = "Y-m-d", $last=true, $first=true)
{
    $begin = new DateTime($startDate);
    $end = new DateTime($endDate);
    if($last){
        $end->modify('+1 day');
    }
    $interval = new DateInterval('P1D'); // 1 Day
    $exclude = 0;
    if(!$first){
        $exclude = DatePeriod::EXCLUDE_START_DATE;
    }
    $dateRange = new DatePeriod($begin, $interval, $end, $exclude);
    $range = [];
    foreach ($dateRange as $date) {
        $range[] = $date->format($format);
    }
    return $range;
}

阿里云标准-Nginx安全基线检查

[高危] 检查Nginx进程启动账号 服务配置

描述
Nginx进程启动账号状态,降低被攻击概率

加固建议
修改Nginx进程启动账号:
1、打开conf/nginx.conf配置文件;
2、查看配置文件的user配置项,确认是非root启动的;
3、如果是root启动,修改成nobody或者nginx账号;
4、修改完配置文件之后需要重新启动Nginx。

- 阅读剩余部分 -

阿里云标准-Redis安全基线检查

阿里云标准-Redis安全基线检查

1. [高危] 禁止监听在公网 访问控制
描述
Redis监听在0.0.0.0,可能导致服务对外或内网横向移动渗透风险,极易被黑客利用入侵。

加固建议
在redis的配置文件redis.conf中配置如下: bind 127.0.0.1或者内网IP,然后重启redis

- 阅读剩余部分 -

阿里云标准-APACHE安全基线检查

基线检查功能通过配置不同的基线检查策略,可以帮助您快速对服务器进行批量扫描,发现包括系统、账号权限、数据库、弱口令 、等级保护合规配置等存在的风险点,并提供修复建议和一键修复功能。

1.1 [高危] 确保对OS根目录禁用覆盖 访问控制
描述
通过禁止访问OS根目录,限制直接访问服务器内部文件的行为
使得运行web的服务器更加安全

- 阅读剩余部分 -

layui table 子页面修改父页面数据

layui-table在使用过程中,如对某条数据进行审核,在子页面完成审核后通常需要关闭子页面并且刷新父页面来展示当前数据最新状态。
原解决模式:
parent.layer.closeAll();
parent.location.reload();
如当前为第N页或已选择搜索条件,则此时页面刷新后将导致条件丢失。

解决方式1:

- 阅读剩余部分 -

iconfont图标找回还原

项目中使用iconfont字体图标,因账号或其他原因导致无法管理原有图标库,通过以下方式尝试找回即可。当然,也可通过新引入独立的字体文件来补充新增的图标。

找回svg文件
1.1 如css文件引入中包含svg信息,直接下载svg文件。
1.2 如不包含svg文件,仅存在woff2信息,则通过以下方式转化为svg
1.2.1 将woff2字体转为文件:
复制代码中base64后的内容并解码,可使用 Base64 Converter网址:https://base64.guru/converter

- 阅读剩余部分 -