当前位置:首页 > 叨叨念念

1个PHP项目中,需要在一个大数组中遍历查询是否存在该元素,使用了in_array()导致运行程序时快时慢。通过测试得知in_array()和array_search()在大数组查询越靠后的元素时速度越慢。而使用array_key_exists()或者isset()则会很快。因为这个函数需要用到key,所以使用array_flip()反转/交换数组中所有的键名以及它们关联的键值。


1、测试环境

PHP 8.3.7和阿里云99元云主机。

PHP从二维数组中根据权重随机取出一个元素,权重越高取出的概率越高,抽奖的简单算法。


二维数组数据如下,weight代表权重大小

$data = [ ['id'=>1,'name'=>'特等奖','weight'=>1], ['id'=>2,'name'=>'一等奖','weight'=>3], ['id'=>3,'name'=>'二等奖','weight'=>5], ['id'=>4,'name'=>'三等奖','weight'=>10], ['id'=>5,'name'=>'四等奖','weight'=>20], ['id'=>6,'name'=>'五等奖','weight'=>30], ['id'=>7,'name'=>'谢谢抽奖','weight'=>100] ];


方法一:按照权重生成一个数组,数组随机取值即可。

XZ-Utils被披露出被投毒植入恶意后门,漏洞编号CVE-2024-3094。可导致受害者机器被远程控制执行恶意操作等危害。


漏洞详情

XZ 是类 Unix 操作系统上的一种无损数据压缩格式,类似于 gzip 和 bzip2 等其他常见数据压缩格式。 XZ-Utils 是一个命令行工具,包含 XZ 文件和 liblzma 的压缩和解压缩功能,liblzma是XZ-Utils依赖的一个压缩库,提供了类似于zlib的编程接口,用于实现LZMA算法,允许开发者在他们的应用程序中集成LZMA压缩和解压缩功能。

阿里云免费SSL证书签发有效期从12个月缩短至3个月:尊敬的用户,根据供应商变更要求,免费证书(默认证书)的签发有效期将由12个月缩短至3个月。 免费证书(升级证书)的有效期不会改变。

腾讯与免费SSL证书签发有效期也从12个月缩短至3个月:接证书厂商通知,2024年4月25日以后,免费SSL证书有效期将从12个月缩短至3个月。


包括Google在内的国际顶级科技公司一直都有在推进免费证书90天有效期的建议,免费证书加密等级低,难以应对今天日益复杂的网络环境,90天一更新有助于及时发现可能存在的安全漏洞,从而降低风险。从成本上面来考量的,一年期的证书从免费调整为几十到几百元,对于证书服务商来说成本就可控的多,可以更好的为付费用户提供售后服务,从而形成良性循环。

QQ空间token参数加密计算g_tk、bkn

QQ空间很多地方需要使用token作为url参数才能成功获取数据,那么如何计算token(g_tk、bkn)就成了必须要解决的问题。


1、查找token加密文件

浏览器访问QQ空间,并用开发者工具抓包数据,先通过token字符串全局搜索token可能出现在的文件或者js,然后通过详细查看获知getACSFToken函数是生成token的关键,并打开具体的js文件,interface_mini.js和qzfl_v8_2.1.65.js都有该加密算法。