分类 其他分类 下的文章

JavaScript 原生支持 replaceAll 了

详见 MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

replaceAll() 方法返回一个新字符串,该字符串的所有满足;模式的匹配,都被用替换者;替换了。 模式 可以是一个字符串或者一个 RegExp, 并且替代者可以是一个字符串,也可以是每次匹配都要调用的函数。

不过兼容性很低,只有 Chrome 85、Firefox 77、Safari 13.1 开始支持

Snipaste_2020-06-24_16-23-06.png

Chrome 85 运行结果

我66你66啊".replace("66", "喜欢");
>>> "我喜欢你66啊"

"我66你66啊".replaceAll("66", "喜欢");
>>> "我喜欢你喜欢啊"

Snipaste_2020-06-24_16-28-26.png

当然你还可以使用 replace 实现类似功能

"我666你666啊".replace(/666/g, "喜欢");
>>> "我喜欢你喜欢啊"

"我{{$tmp}}你{{$tmp}}啊".replace(/{{\$tmp}}/g, "喜欢");
>>> "我喜欢你喜欢啊"

(2019年8月) 第44次《中国互联网络发展状况统计报告》 | 中国(电信、移动、联通等...) IPv4/IPv6 持有量

第44次《中国互联网络发展状况统计报告》

参考数据:第44次《中国互联网络发展状况统计报告》
数据来源:中国互联网络信息中心

该报告没有写出 中国主要骨干网络国际出口带宽数
以下是为便于读者阅读,摘要的部分数据,具体以 第44次《中国互联网络发展状况统计报告》 为准

摘要

基础数据

仅为粗略摘要,可能有摘抄错误的地方,详细请查阅 第44次《中国互联网络发展状况统计报告》
  • 截至2019年6月,我国网民规模达 8.54亿,较2018年底增长 2598万,互联网普及率达 61.2%,较 2018年底提升1.6个百分点。
  • 截至2019年6月,我国手机网民规模达8.47亿,较2018年底增长2984万,我国网民使用手机上网的比例达99.1%,较2018年底提升0.5个百分点。
  • 截至2019年6月,我国农村网民规模为2.25亿,占网民整体的26.3%,较2018年底增长305万;城镇网民规模为6.30亿,占网民整体的73.7%,较2018年底增长2293万。
  • 截至2019年6月,我国网民使用手机上网的比例达99.1%;使用电视上网的比例为33.1%;使用台式电脑上网、笔记本电脑上网、平板电脑上网的比例分别为46.2%、36.1%和28.3%。
  • 截至2019年6月,我国IPv6地址数量为50286块/32,较2018年底增长14.3%。
  • 截至2019年6月,我国域名总数为4800万个;其中,“.CN”域名总数为2185万个,较2018年底增长2.9%,占我国域名总数的45.5%。
  • 截至2019年6月,我国即时通信用户规模达8.25亿,较2018年底增长3298万,占网民整体的96.5%;手机即时通信用户规模达8.21亿,较2018年底增长4040万,占手机网民的96.9%。
  • 截至2019年6月,我国网络新闻用户规模达6.86亿,较2018年底增长1114万,占网民整体的80.3%;手机网络新闻用户规模达6.60亿,较2018年底增长734万,占手机网民的78.0%。
  • 截至2019年6月,我国网络购物用户规模达6.39亿,较2018年底增长2871万,占网民整体的74.8%;手机网络购物用户规模达6.22亿,较2018年底增长2989万,占手机网民的73.4%。
  • 截至2019年6月,我国网上外卖用户规模达4.21亿,较2018年底增长1516万,占网民整体的49.3%;手机网上外卖用户规模达4.17亿,较2018年底增长2037万,占手机网民的49.3%。
  • 截至2019年6月,我国网络支付用户规模达6.33亿,较2018年底增长3265万,占网民整体的74.1%;手机网络支付用户规模达6.21亿,较2018年底增长3788万,占手机网民的73.4%。
  • 截至2019年6月,我国网络视频用户2规模达7.59亿,较2018年底增长3391万,占网民整体的88.8%;其中,短视频用户规模为6.48亿,占网民整体的75.8%。
  • 截至2019年6月,我国网约出租车用户规模达3.37亿,较2018年底增长670万,占网民整体的39.4%;我国网约专车或快车用户规模达3.39亿,较2018年底增长633万,占网民整体的39.7%。
  • 截至2019年6月,我国在线政务服务用户规模达5.09亿,占网民整体的59.6%。

趋势特点

部分摘要,详细请查阅 第44次《中国互联网络发展状况统计报告》

IPv6 地址数量全球第一,“.CN”域名数量持续增长
截至2019年6月,我国 IPv6地址 数量为 50286块 / 32,较2018年底增长14.3%,已跃居全球第一位。我国IPv6规模部署不断加速,IPv6 活跃用户数达 1.3 亿,基础电信企业已分配IPv6地址用户数 12.07亿3;域名总数为 4800万个,其中“.CN”域名总数为 2185万个,较2018年底增长 2.9%,占我国域名总数的 45.5%。2019年6月,首届“中国互联网基础资源大会2019”在京召开,大会围绕网络强国战略大局,回顾中国互联网二十五周年发展历程,聚焦互联网基础资源行业发展,展示前沿创新技术,搭建行业交流平台,推动行业规范有序发展。


互联网基础资源 (摘要)

(1)基础资源概述

截至 2019年6月,我国 IPv4 地址数量为 38598万个,IPv6 地址数量为 50286块/32。我国域名总数为 4800万个。其中,“.CN”域名总数为2185万个,占我国域名总数的 45.5%。

2018.12- 2019.6 互联网基础资源对比

IPv4* 2018年12月服2019年6月数据均含港、澳、台地区。
IPv6* 2018年12月服2019年6月数据均含港、澳、台地区。
域名 - 2018年12月* 2018年12月统计数据不含新通用顶级域名(New gTLD)数量。
域名 - 2019年6月* 2019年6月统计数据含新通用顶级域名(NewgTLD)数量。
2018年12月2019年6月半年增长量半年增长率
IPv4* (个)385,843 968385,979,136135,1680.04%
IPv6* (块/32)43,98550,2866,30114.3%
域名 (个)37,927,527*48,001,471*----
其中.CN域名 (个)21 ,243,47821 ,851 ,990608,5122.9%

中国各地区 IPv4 地址数量

地区地址量折合数
中国大陆338,991,36020A + 52B + 153C
中国台湾35,678,9762A + 32B + 107C
中国香港10,972,672167B + 110C
中国澳门336,1285B + 32C

大陆地区按分配单位 IPv4 地址数

单位名称地址量折合数
中国电信集团公司125,763,3287A+126B+255C
中国联合网络通信有限公司69,866,752*4A+42B+21C
CNNIC IP 地址分配联盟61,960,448*3A+177B+113C
中国移动通信集团公司35,294,2082A+26B+140C
中国教育和科研计算机网16,649,728254B+14C
中移铁通有限公司15,796,224*241B+8C
其它13,660,672208A+114C
合计338,991,36020A+52B+153C

大陆地区按分配单位 IPv4 地址数 - nowtime.cc 现在网


中国大陆地区按分配单位 IPv6 地址数

单位名称地址量
中国电信集团公司16,387
CNNIC IP 地址分配联盟14,025*
中国教育和科研计算机网6,162
中国联合网络通信有限公司4,097
中国移动通信集团公司4,097
中移铁通有限公司2,049*
中国科技网17*
其它481
合计47,315

中国大陆地区按分配单位 IPv6 地址数


以往报告:

PHP 解析抖音短视频无水印源码(非调用 Ta 人接口解析)

Gitee 地址(不是我写的):https://gitee.com/uxqq/dyapi

我已经部署好的(我自己做了改动):https://api.nowtime.cc/v1/douyin/videoParse?url=视频链接
例如:https://api.nowtime.cc/v1/douyin/videoParse?url=https://v.douyin.com/sD6Wyk

返回结果:

{
  "code": 200,
  "msg": "获取成功",
  "data": {
    "title": "马斯克Boring公司开发地下立体交通隧道,系统智能管理,将让无间隔跟车成为可能#马斯克 #boring隧道",
    "img": "https://p9-dy.byteimg.com/img/tos-cn-p-0015/ec7c7768c516479489f8e6d62435bf95_1581734295~c5_300x400.jpeg?from=2563711402_large",
    "videourl": "http://v5-dy.ixigua.com/0cdda091045c66f99f261844772abf9d/5e4773a0/video/tos/hxsy/tos-hxsy-ve-0015/7a26bfc1603340cd981e76bca7906a91/?a=1128&br=0&bt=507&cr=0&cs=0&dr=0&ds=6&er=&l=2020021511290501001203410423F11F5A&lr=&qs=0&rc=amx2c2RzNXlvczMzOmkzM0ApaTNnOWkzZGQ5NzM5OWc6M2dxXzAvNl4wZjBfLS0xLS9zcy9gYy1iMi82YTUwYDReYjA6Yw%3D%3D&vl=&vr="
  }
}

PHP 代码:

<?php
header('Access-Control-Allow-Origin:*');
header('Content-type:application/json; charset=utf-8');
error_reporting(0);
if(!array_key_exists('url',$_REQUEST))exit(error("缺少参数"));
$url =@$_REQUEST;
preg_match("/http:\/\/v.douyin.com\/\S+/",$url['url'],$res);
if (!$res)exit(error("请检查你输入的链接"));
function error($str){
    return json_encode([
        "code"=>-1,
        "msg"=>$str
    ],JSON_UNESCAPED_UNICODE);
}
function curl($url, $getinfo=false)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_ENCODING, '');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'));
    if($getinfo){
        curl_exec($ch);
        $data = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
    }else{
        $data = curl_exec($ch);
    }
    curl_close($ch);
    return $data;
}
preg_match_all("/itemId: \"([0-9]+)\"|dytk: \"(.*)\"/", curl($res[0]), $res, PREG_SET_ORDER);
if(!@$res[0][1] || !@$res[1][2])exit(error("数据异常"));
$arr = json_decode(curl("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={$res[0][1]}&dytk={$res[1][2]}"));
exit(json_encode([
    "code"=>1,
    "msg"=>"获取成功",
    "data"=>[
        'title'    => $arr->item_list[0]->desc,
        'img'      => $arr->item_list[0]->video->cover->url_list[0],
        'videourl' => curl($arr->item_list[0]->video->play_addr->url_list[0], true)
    ]
],JSON_UNESCAPED_UNICODE));

Golang 最小编译化 / 使其执行时不显示DOS窗口

编译文件最小化

编译 go 文件,去掉符号信息和调试信息

  • -a 强制编译所有依赖包。
  • -s 去掉符号信息
  • -w 去掉DWARF调试信息,得到的程序就不能用gdb调试了
go build -ldflags "-s -w" http_request.go

然后使用 upx 压缩文件

upx -9 -k http_request

使其执行时不显示 DOS 窗口

Golang 运行时 一闪而过的命令行窗口/黑色窗口/DOS窗口
go build -ldflags="-H windowsgui" http_request.go

PHPJiaMi 免扩展加密分析及解密

0x00 前言

前几天去玩了 pwnhub 公开赛的题目,源码下载之后发现是 PHPJiaMi 加密。之前有分析过 phpjm 加密并写出过解密文件,所以研究下这个 PHPJiaMi。
PHP 免扩展加密的主流加密方法采用了 ascii 码 129-255 的乱码来实现变量名、函数名混淆,编辑器打开后就是一堆乱码,造成不可读。

加密流程:源码 -> 加密处理(压缩,替换,BASE64,转义)-> 安全处理(验证文件 MD5 值,限制 IP、限域名、限时间、防破解、防命令行调试)-> 加密程序成品,再简单的说:源码 + 加密外壳 == 加密程序 (该段出处)

0x01 解密准备

这里做演示,我写了 phpinfo() 然后去 http://www.phpjiami.com/ 生成加密文件,打开之后,果然都是一片乱码。
使用代码修复工具 http://zhaoyuanma.com/phpcodefix.html 将 ascii 不可见字符的变量修复成正常的变量名,再 PHP 代码美化,方便下一步分析。

- 阅读剩余部分 -