首页
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
Excel比对
文本分割器
书签检测宝
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
体脂率测算
精美壁纸
采集图片
蜜语星球
CF信息查询
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
Search
1
教你如何把Waves效果器完整的卸载干净
2,572 阅读
2
123云盘直链带密码解析源码
1,092 阅读
3
2023新版QQ工具箱全开源
815 阅读
4
2023新版API接口管理系统v1.3全开源
793 阅读
5
个人新拟态主页UI5.0全开源
606 阅读
技术文章
程序代码
实用软件
声卡效果
登录
/
注册
Search
标签搜索
咔咔云
PHP
技术文章
PHP代码
API
QQ技术
网站程序
绿色软件
易语言源码
网络攻防
图床源码
授权程序
网站优化
声卡效果
SEO优化
计算机常识
Windows
GitHub
typecho
网站美化
咔咔云
技术交流群
累计撰写
53
篇文章
累计收到
1
条评论
首页
栏目
技术文章
程序代码
实用软件
声卡效果
页面
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
Excel比对
文本分割器
书签检测宝
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
体脂率测算
精美壁纸
采集图片
蜜语星球
CF信息查询
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
用户登录
登录
注册
搜索到
20
篇与
的结果
2022-05-29
葫芦侠一键签到网页版工具源码
源码简介葫芦侠一键签到工具网页版源码对于还在玩葫芦侠三楼的朋友是很实用的一款便捷式签到工具平台,喜欢的朋友就下载,咔咔云站长提示:切勿频繁恶意使用,不保证不会有封号风险。 主要功能+收集50+可签到板块 包含大量隐藏板块+支持一键签到及托管签到+支持托管记录查询+支持更新托管密码+支持自定义广告位、首页公告等.+支持自定义接口地址+更多功能请自行体验…{cloud title="葫芦侠一键签到网页版工具源码" type="lz" url="https://wwb.lanzoub.com/i8oAa05l95bc" password=""/}
2022年05月29日
347 阅读
0 评论
0 点赞
2022-05-14
关于前端缓存的释义
前端缓存前端缓存可分为两大类:http缓存和浏览器缓存。今天咔咔云站长给大家简单讲解下这两种缓存。下面这张图是前端缓存的一个大致知识点: 一.HTTP缓存策略分为两种:强缓存和协商缓存,这两种缓存策略都是服务端设置HTTP Header来实现的。1.强缓存强缓存的意思很简单,直接从浏览器缓存过的本地进行读取,不会去请求服务器。例如请求一个图片,当缓存后,第二次访问,直接从本地去拿,不会再去请求这个资源,可以节省服务器资源。可以通过三种方式来设置强缓存①.Expires:服务端在响应头中设置一个 GMT 格式的到期时间。客户端的本地时间小于响应头的 Expires 时间,那么会从本地进行读取,不会去请求服务器。如果超过了,那么就去请求服务器去获取最新资源。但是就是因为根据本地时间进行判断,本地时间可以随便修改,所以这种缓存机制有漏洞,会与服务端时间有偏差,为了解决这个问题,就出现了下面的 Cache-contorl②.Cache-control:它和Expires不一样,Expires是直接设置一个时间戳就行了,而Cache-control可以设置下面这几种属性:{card-describe title="Cache-control属性"}max-age:这个用于设置一个滑动时间,例如设置max-age=30表示客户端时间向后滑动30秒,在这30秒内都是强缓存,不会去请求服务器s-maxage:这个和上面的一样,只不过这个设置的是代理服务器的缓存时间privte:这个表示缓存只能被客户端的浏览器缓存,不能被代理服务器缓存public:这个表示缓存既可以被浏览器缓存,也可以被代理服务器缓存no-store:这个属性表示不缓存,在任何情况下,都是与服务器进行最新的交互no-cache:这个并非不缓存的意思,这个表示强制进行协商缓存,会在下面描述{/card-describe}2.协商缓存协商缓存表示在使用本地的缓存之前,会先向服务器发一个请求,与服务器协商当前浏览器的缓存是否已经过期了,如果没过期,那么就使用本地的资源,如果过期了就去请求最新资源。协商缓存主要是解决强缓存资源不能及时更新的问题,协商缓存服务端可以通过2种设置来实现:第一种:last-modified 配合 If-Modified-Since例如,客户端请求一个 03.jpg,服务端接收到这个请求后,会读取这个文件的最后修改时间,然后设置到响应头中,设置的参数就是 last-modified,参数值是文件最后修改的时间戳。客户端第二次请求 03.jpg 这个文件的时候,会带上一个 If-Modified-Since 参数,服务端能拿到这个参数与last-modified进行比对,如果一致,那么就返回304状态,否则就去请求最新的文件,使用nodejs实现这个代码:(注意协商缓存需要设置Cache-Control为no-cache,表示设置成协商缓存)... // 判断客户端请求的是03这个图片 if(pathname === '/img/03.jpg') { // 读取 03 图片的最后修改时间 const { mtime } = fs.statSync("./img/03.jpg") // 判断客户端发送过来的if-modified-since是否与mtime一致,如果一致就直接返回304 if(req.headers['if-modified-since'] === mtime.toUTCString()) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("last-modified", mtime.toUTCString()) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...上面的last-modified配合If-Modified-Since在使用时有些弊端,例如将03.jpg修改成04.jpg,再改回03.jpg。此时这个文件其实是没有变化的,但是最后修改时间更改了,因此客户端就需要重新请求,因此就出现了下面的第二种使用Etag的方式第二种:Etag 配合 If-None-MatchEtag实现的方式服务端是为文件生成一个指纹,类似于MD5字符串。接着响应头中塞进 Etag 参数,参数的值就是计算出的字符串,客户端接收到后,第二次请求会带上一个 If-None-Match 的参数,接着服务端和上面第一种方式一样进行比对,nodejs的实现代码如下:// 引入 etag 模块 const etag = reqiure("etag") ... if(pathname === '/img/03.jpg') { const data = fs.readFileSync("./img/03.jpg") // 获取生成的etag字符串 const etag = etag(data) // 判断客户端发送的 If-None-Match 与服务端是否一致 if(req.headers['if-none-match'] === etag) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("etag", etag) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...二.浏览器缓存其定义是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。浏览器缓存主要有两类:缓存协商:Last-modified ,Etag 和彻底缓存:cache-control,Expires。
2022年05月14日
221 阅读
0 评论
1 点赞
2022-05-12
EditPlus注册码在线生成源码
EditPlus是一款小巧、启动速度非常快、功能强大的可处理文本、HTML和程序语言的Windows编辑器,甚至可以通过设置用户工具将其作为C,Java,PHP等等语言的一个简单的IDE。然而官网授权比较贵,一个用户就是$35~,所以今天咔咔云站长给大家分享一种破解EditPlus密钥算法来注册正版软件的方法代码如下:function generate_editplus_regcode() { var list = [0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8000,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16000,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32000,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448]; var hexchars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']; var regcode = new Array(29); var i = 0, j = 0, k = 0; var len, temp, sum, result; var username = document.getElementById("username").value; username = username.replace(/^\s+|\s+$/g, ""); for(i = 0;i < 5;i++,k++) { for(j = 0;j < 5;j++,k++) { regcode[k] = hexchars[parseInt(Math.random() * 16)]; } if(k == 29) break; regcode[k] = '-'; } len = username.length; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = (parseInt( (sum + 23) / 6 ) + 3) * 7 % 16; regcode[6] = hexchars[temp & 0xF]; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = parseInt( (3 * sum + 39) / 8 ) % 16; regcode[9] = hexchars[temp & 0xF]; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = parseInt( (3 * sum + 19) / 9 ) % 16; regcode[7] = hexchars[temp & 0xF]; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = parseInt( (sum + 10) / 3 ) * 8 % 16; regcode[10] = hexchars[temp & 0xF]; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = (parseInt( (9 * sum + 10) / 3 ) + 36) % 16; regcode[4] = hexchars[temp & 0xF]; sum = 1; for(i = 0;i < len;i++) sum += username.charCodeAt(i); temp = parseInt( (5 * sum + 11) / 5 ) % 16; regcode[8] = hexchars[temp & 0xF]; result = 0; for(i = 0;i < len;i++) result = ((result >> 8) & 0xFF) ^ list[username.charCodeAt(i) ^ (result & 0xFF)]; result = result.toString(16).toUpperCase(); regcode[2] = result.charAt(0); regcode[3] = result.charAt(1); len = regcode.length; result = 0; for(i = 2;i < len;i++) result = ((result >> 8) & 0xFF) ^ list[regcode[i].toString().charCodeAt(0) ^ (result & 0xFF)]; result = result.toString(16).toUpperCase(); regcode[0] = result.charAt(0); regcode[1] = result.charAt(1); document.getElementById("regcode").value = regcode.join(""); }另附:EditPlus在网上有许许多多的破解版,破解版的风险,大家也应该知道。所以咔咔云站长在这里给大家写了一套在线自助注册EditPlus授权的源码。源码演示图: {cloud title="editplus注册码生成源码" type="lz" url="https://wwb.lanzoub.com/i1YDV04pnxja" password=""/}
2022年05月12日
251 阅读
0 评论
27 点赞
2022-05-08
用GitHub+jsdelivr来搭建图床
前言今天咔咔云站长教大家如何利用GitHub+jsdelivr加速服务来搭建一款稳定快速、高效免费的属于自己的图床程序。 搭建方法1.新建GitHub仓库点击NEW新建,填写仓库名和描述,2.生成一个Token点击右上角头像一次选择 【Settings】-【Developer settings】-【Personal access tokens】-【Generate new token】 ,填写好描述,勾选 【repo】 ,然后点击 【Generate token】 生成Token,这里注意一下这个Token只显示一次!!!使用方法图片URL:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径{cloud title="GitHub+jsdelivr图床源码" type="lz" url="https://wwb.lanzoub.com/iCip00568x1e" password=""/}
2022年05月08日
226 阅读
1 评论
0 点赞
2022-05-06
利用QQ收藏做授权检测系统
利用QQ收藏做授权今天咔咔云站长给大家分享一个简单的PHP授权技巧,也就是利用QQ收藏做在线授权检测。下面看具体步骤, 根据上面所示,我们就可以获取到分享后的链接,利用下面的代码就可以获取到链接的内容以达到授权检测的效果,代码如下:<?php $rel = curl_get('你的微云收藏地址'); preg_match('/<article class="note-body">([\s\S]*?)<\/article>/i',$rel,$matches); $rel=strip_tags($matches[0]); $rel=str_replace(' ',' ',$rel); print_r($rel); function curl_get($url){ $ch=curl_init($url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn; R815T Build/JOP40D) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/4.5 Mobile Safari/533.1'); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $content=curl_exec($ch); curl_close($ch); return($content); }这里咔咔云站长给大家写一个完整授权站长,演示如下: 源码下载:{cloud title="利用QQ收藏做授权站PHP源码" type="lz" url="https://wwb.lanzoub.com/i7YMQ04e51bg" password=""/}
2022年05月06日
258 阅读
0 评论
0 点赞
2022-05-05
利用uniCloud免费云存储搭建图床
程序说明uniCloud提供免费10G云存储空间,不限流量,底层是阿里云OSS,因此速度非常快。这里咔咔云提一句,阿里云不允许将图床用作商业行为,大家怎么使用,自行斟酌。这个源码所有与uniCloud接口互交的部分都由后端php实现,前端只与阿里云OSS交互,不再需要引用uniCloud的vue框架js。 使用说明1.首先在https://unicloud.dcloud.net.cn 注册一个账号,有账号的可以跳过这一步2.https://unicloud.dcloud.net.cn/home 在这里创建一个应用,然后将spaceId和clientSecret配置到源码的config.php里面即可使用。{cloud title="uniCloud云图床源码" type="lz" url="https://wwb.lanzoub.com/i4UZ904c8meb" password=""/}
2022年05月05日
392 阅读
0 评论
25 点赞
1
2
3
4
首页
复制
搜索
前进
后退
重载网页
SEO优化
关于站长