首页
友链
壁纸
留言
今日热榜
更多
关于
时光
推荐
精品流量卡
Search
1
都二十多年了,你的梦为什么还没碎!
57,062 阅读
2
2022年5个好用的 BT/ 磁力链接下载工具推荐 |Windows 、安卓系统
37,217 阅读
3
nps内网穿透实现外网访问树莓派
32,390 阅读
4
实践利用宝塔建emlog个人博客-超详细【原创】
26,119 阅读
5
Typecho-Joe-Theme主题帮助文档
24,549 阅读
闲杂乱码
Python
网站源码
微信小程序
娱乐分享
Is相册
软件工具
登录
Search
标签搜索
PHP
HTML
API
Javascript
源码
JS
Vue
Github
CloudFlare
接口
函数
SQL
ASP.NET
MVC
EF
T4模板
后台管理
CDN
微信小程序
MAC
韩小韩
累计撰写
261
篇文章
累计收到
1,300
条评论
首页
栏目
闲杂乱码
Python
网站源码
微信小程序
娱乐分享
Is相册
软件工具
页面
友链
壁纸
留言
今日热榜
关于
时光
推荐
精品流量卡
搜索到
260
篇与
韩小韩
的结果
2020-09-24
最安全的PHP密码加密方法
在PHP开发过程中,很多人PHP密码加密都是用的md5和sha1(包括sha256.......),但不知道,随着技术进步和计算机硬件的提升(集群、分布式、云计算),破解者可以快速使用“暴力”(彩虹表)方式来寻找密码加密后散列码所对应的原始数据。问:以上问题,对于现在的PHP开发者来说,我们应该怎么办?答:有空大家不妨去看一下:PHP“密码散列安全”问题与解决方法最安全的PHP密码加密方法:PHP官方自带的密码哈希函数 password_hash()常用的MD5、SHA1、SHA256哈希算法,是面向快速、高效进行哈希处理而设计的。随着技术进步和计算机硬件的提升,如今强大的计算机很容易破解这种算法。也就是说,不要用MD5、SHA1、SHA256这种哈希方法加密密码了,不太安全。还好,PHP内置了密码哈希函数password_hash,使用这个方法,PHP会升级底层的算法,达到如今的安全标准水平。注意:PHP 5.5 之后引入 Password hashing API 用于创建和校验哈希密码,它属于内核自带,无需进行任何扩展安装和配置。函数具体怎么用?我就不多说了,请大家自行查手册,我简单给大家解释一下:为什么建议大家用password_hash()函数?password_hash()会随机生成“盐” 。password_hash()加密后的值包括了“随机盐”+“密码散列“组合的值。当然生成这个值是通过了一定算法的,不要问为什么?数据库只需要一个字段就可以存取“随机盐”+“密码散列“值。我以前开发项目,为了保证不同用户用不同的盐,我数据库还用了两个字段,一个存密码散列值,另一个存盐的值。密码验证简单,只需要用password_verify()函数验证即可!password_hash() 加密用法示例:(推荐)<?php /** - 我们想要使用默认算法散列密码 - 当前是 BCRYPT 算法,并会产生 60 个字符的结果。 - 据说bcrypt算法永不过时。 - - 请注意,随时间推移,默认算法可能会有变化, - 所以需要储存的空间能够超过 60 字(255字不错) */ echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT); ?>以上例程的输出类似于:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a加密后的散列值存数据库这样我们可以直接把上面加密后的值存入数据库,只需要一个字段。password_verify() 验证密码是否和散列值匹配用法示例:<?php // 想知道以下字符从哪里来,可参见 password_hash() 的例子 $hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq'; if (password_verify('rasmuslerdorf', $hash)) { echo '密码正确'; } else { echo '密码错误'; } ?>更多相关密码散列算法函数:password_algos — 获取可用的密码哈希算法IDpassword_get_info — 返回指定散列(hash)的相关信息password_hash — 创建密码的散列(hash)password_needs_rehash — 检测散列值是否匹配指定的选项password_verify — 验证密码是否和散列值匹配总结:可能很多人不知道,password_hash() 这个函数,它的前身其实就是phpass,phpass是一个开源类库,它可以让我们更方便使用bcrypt加密算法。最后请参考PHP官方手册:https://www.php.net/manual/zh/ref.password.phpphpass网址:http://www.openwall.com/phpass/
2020年09月24日
1,354 阅读
0 评论
0 点赞
2020-09-10
腾讯微博将于2020年9月28日晚23时59分停止服务和运营
由于业务调整,腾讯微博将于2020年9月28日晚23时59分停止服务和运营。截图留念
2020年09月10日
1,154 阅读
0 评论
0 点赞
2020-09-09
nps内网穿透实现外网访问树莓派
{message type="info" content="拿到树莓派除了研究了下 Android Things,还有就是搭建服务器,建个网站。操作系统使用官方的Raspbian,基于Linux。然后使用Nginx + PHP + WordPress建站。一切都比较顺利,中间过程以后写个文章记录一下。今天先说一下最重要的问题:如何通过内外穿透让外网访问到树莓派上的服务?从网站建好以后,试过两种内网穿透方式,花生壳、NPS。其他的还有FRP、ngrok等"/}花生壳内网穿透花生壳我一直没舍得在上面花钱,因为有免费试用的基本能够满足需求。但是免费的才是最贵的。免费账号服务不稳定,经常掉线。NPS服务后来在网上找到了NPS服务,nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。但nps有个最大的问题就是:需要一台外网能访问到的服务器来架设nps服务。有人说你都有外网的服务器了还要内网穿透干什么呢?在我看来,坚持使用nps的理由是这样,nps轻量级,高性能,但其本身负责的是流量转发功能,我们可以在内网服务器进行更密集、高负荷的运算,而承担nps服务的外网服务器的配置要求就低很多。同时也可以在外网服务器上运行一些其他的运算要求较低的服务。所以我也算是把好钢用在刀刃上吧~其中公网服务端就需要一台VPS,配置不用太高,我使用的是阿里云的突发性能实例,具体可以到阿里云ECS查看。内网客户端使用家里的树莓派。服务端 搭建 (Server)项目release地址: {anote icon="fa-link" href="https://github.com/cnlh/nps/releases" type="info" content="Github项目地址"/} 查找对应的server包。我的云服务器是X86-64架构,使用Ubuntu 18.04操作系统,所以选择linux_amd64_server.tar.gz。下载程序并解压:wget https://github.com/ehang-io/nps/releases/download/v0.26.8/linux_amd64_server.tar.gz &&tar -zxvf linux_amd64_server.tar.gz安装sudo ./nps install运行nps start之后访问 [服务器IP]:8080,登录web页面。默认用户名admin,密码123。也可以通过配置 conf/nps.conf修改默认端口、用户名密码等信息。具体配置见下表:名称ㅤ 含义 web_portㅤ web管理端口 web_passwordㅤ web界面管理密码 web_usernameㅤ web界面管理账号 bridge_portㅤ 服务端客户端通信端口 https_proxy_portㅤ 域名代理https代理监听端口 http_proxy_portㅤ 域名代理http代理监听端口 auth_keyㅤ web api密钥 bridge_typeㅤ 客户端与服务端连接方式kcp或tcp public_vkeyㅤ 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式 ip_limitㅤ 是否限制ip访问,true或false或忽略 flow_store_intervalㅤ 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化 log_level 日志输出级别 auth_crypt_keyㅤ 获取服务端authKey时的aes加密密钥,16位 p2p_ipㅤ 服务端Ip,使用p2p模式必填 p2p_portㅤ p2p模式开启的udp端口默认web端口是8080,客户端连接端口是8024,对于有防火墙的服务器,需要提前打开这两个端口。新增客户端在客户端标签页新增客户端配置填个备注,剩下的默认就可以了新增客户端完成后展开客户端详情,下面有一行命令随后用到。此时status还是offline,图中我这个是客户端也已经建立连接了所以online了。接下来我们就去搭建客户端并建立连接。客户端 搭建(Client)下载并解压wget https://github.com/ehang-io/nps/releases/download/v0.26.8/linux_amd64_client.tar.gz &&tar -zxvf linux_amd64_client.tar.gz之后执行web页里新增客户端下的命令./npc -server=IP地址:8024 -vkey=密码 -type=tcp随后再看服务端web页,客户端的status已经是online了。配置客户端连接现在服务端和客户端的连接已经建立起来,那么该如何访问内网的WordPress呢?搞个域名先,国内的需要备案。在服务端web页选择 域名解析 -> 新增填入备注、域名、内网WordPress IP和端口号,客户端id要填之前新建好的客户端id。搞定。ssh连接当然我的网站其实是放在外网服务器的,示例的网站只是自己有个域名随便玩的。最主要的用处是能够随时随地通过ssh控制家里的树莓派。在服务端web页选择 tcp隧道 -> 新增服务端端口需要新建一个,之后不要忘记在服务器防火墙放行此端口。目标ip端口写树莓派的ip:22之后在外网通过 ssh pi@my.servce.ip -p port 就可以啦{callout color="#f0ad4e"}此时此刻你的树莓派也可以做一台服务器啦{/callout}
2020年09月09日
32,390 阅读
16 评论
6 点赞
2020-09-08
基于LayUI的韩小韩短网址生成源码
{message type="info" content="大气的界面,优美的颜色搭配,我都不会,只会随随便便的配几个颜色,简约短网址生成,接口http://4ce.cn/api.php?url=,Api.Vvhan.com从原来的Api.Han8.Net到现在已经快3年了,依然保持免费稳定无广告,感谢大家的支持!"/}界面演示地址 {anote icon="fa-link" href="https://www.vvhan.com/dwz/" type="info" content="点击查看演示"/} 部分代码<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>韩小韩短网址</title> <meta name="keywords" content="短网址,新浪短网址,短网址生成"> <meta name="description" content="韩小韩短网址 - 一个免费的短网址网站。"> <link rel="stylesheet" href="layui/css/layui.css"> <link rel="stylesheet" href="static/css/style.css"> <script src="layui/layui.all.js"></script> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12 spance"> <div class="title"> <h1 class="douyin">韩小韩短网址</h1> </div> <div class="urlinput"> <input id="urls" type="text" required lay-verify="required" placeholder="请输入要缩短的连接" autocomplete="off" class="layui-input"> <button id="make" type="button" class="layui-btn layui-btn-normal layui-btn-lg">点击生成</button> </div> <div class="footer"> <p><a href="https://www.vvhan.com/handwzs.html" target="_blank">源码下载</a></p> <p><a href="https://beian.miit.gov.cn" target="_blank">苏ICP备17017222号</a></p> <p>Copyright © 2020 Www.Vvhan.Com 版权所有</p> </div> </div> </div> <script src="static/js/index.js"></script> </body> </html>源码地址{cloud title="GitHub项目地址" type="github" url="https://github.com/uxiaohan/dwz" password=""/}{cloud title="韩小韩短网址生成源码" type="lz" url="https://ohan.lanzoui.com/i9WFegfxtjc" password=""/}
2020年09月08日
1,427 阅读
0 评论
0 点赞
2020-09-02
基于Vue+Element框架的韩小韩简约导航网
{message type="info" content="最近学了一下Vue感觉Element框架不仅简约而且优美,我真的好喜欢好喜欢,特别响应式布局这块,练手就随意写了一个导航网,非常简约,数据存储在QQ收藏里,连接,说明,公告等随时添加更改,极其方便。"/}配置文件说明let hanConfigData = { //这里是QQ收藏API解析接口,默认即可 "apiUrl": "https://api.vvhan.com/api/qqsc", //这里填写你的QQ收藏分享地址 "qqKey": "https://sharechain.qq.com/c5265467c3abd92b6b5886da33a726de", //这里填写自己的底部版权 "copyRight": "Copyright © 2018-2020 api.vvhan.com 版权所有", // 这里填写ICP备案号 "icpText": "苏ICP备17017222号" }QQ收藏内容首先在QQ收藏 点击右上角+ 新建一个文本一定要 文本 收藏才可以。标题 填写 0 或者 10 代表关闭网站公告 1 代表开启网站公告收藏内容按下面格式填写欢迎大家使用小韩的导航网!大家多多支持! HanGongGao 韩小韩博客,www.vvhan.com,要变得更加完美!丨 短连接生成,han8.net,一个免费的短连接生成网站~丨 韩小韩API接口,api.vvhan.com,一个免费极速稳定的API接口站。丨 张凡博客,lo3.cn,一个还没有启用的网站?丨 百度,baidu.com,格式一定要正确丨格式说明HanGongGao作为网站内容和网站公告的分割作用 HanGongGao以上随意修改网站公告内容,以下则是 链接 链接格式一定按照格式:标题,网址URL,网站描述丨 注意:(链接 一定 不需要 ➕http://或者https://,丨为链接分隔符)演示图片{anote icon="fa-link" href="https://www.vvhan.com/daohang/" type="secondary" content="点击查看演示"/} 下载地址{cloud title="韩小韩简约导航网Github项目地址" type="github" url="https://github.com/uxiaohan/daohang" password=""/}{cloud title="韩小韩简约导航网蓝奏下载地址" type="lz" url="https://www.lanzoux.com/iwzj2gaopwh" password=""/}
2020年09月02日
2,161 阅读
1 评论
2 点赞
2020-08-29
恭喜弟弟第一首原创歌曲 - 不错(prod.ZS Beatz) 网易云音乐通过
{message type="info" content="每个人都有自己的爱好,弟弟的爱好就是唱歌,当他和我讲他现在已经是一名网易音乐人的时候我还是有点惊讶的,之前听他讲过一直申请不通过,我以为只是玩玩,没想到弟弟一直在申请,而且有了自己的原创歌曲,听了好多遍,歌词写得很好,歌曲唱的也很不错,兴趣是前进中势不可挡的动力!"/}{music id="1474697967" color="#fff" autoplay="autoplay"/}歌词{callout color="#f0ad4e"}作曲 : 寄风作词 : 寄风记得六岁时你离开了我从此,我的心中失去了那把火你给我买的玩具车还在那个角落角落里还剩着你给我买的那本小说小说我还没有看个遍但是你在我的脑海中慢慢的变 化你骑着单车在我的后面车子后面你不在浮现那么冰那么冰的心情温暖了我,温暖了我的心灵你就忍心放弃,我是你的唯一为什么要离开我?为什么要flogging让我一个人在黑暗中摸索不过又不是我闯的祸慢慢地挣脱挣脱被歧视的枷锁慢慢的变强努力的争夺不错 不错黑暗中找不到光亮黑暗中没有力气悲伤记得十四岁时,您离开了我从此,我的生活变成了灰色脑海总是浮现你对我做的一切事在你的世界里,使我立下了一些志 向记忆里,您总是那么的坚强不曾觉得累,不曾觉得牵强你那苍老的手就是不停的抖拖着沉重的身体沉重的走您的价值就是我那梦想中的黄金在我这的世界里培养起红旗你的一生都在地里劳作劳作终使你病卧时间你是顶不住的你是家里的顶梁柱子v记得那时你在床上说了很多话我记住很多话,泪水也不停的挂不错,不错时间让你慢慢老去时间让你清心少欲不错,不错死神总是那么无情死神总是心神不宁在黑夜里有那么一道光它指引着我的方向她在困难时给我力量她在迷茫时给我信仰没有他,我怎么在高中生活没有他,我怎么努力争夺我的心中慢慢扬起青春的火让我从此有了信心争夺感谢我的姑姑感谢我的班主任感谢那些曾经 帮助我的人奶奶曾经说过让我学会感恩奶奶曾经说过让我学会感恩不错,不错时间是一个漫长的旅程时间让我遇见对的人{/callout}
2020年08月29日
1,059 阅读
3 评论
3 点赞
2020-08-26
比较上档次的代码注释
好多同学都喜欢在代码的行行间间留下一些自己喜欢的东西,博主给大家分享一些比较🐮X的注释。直接上代码/*** * 瓦瓦 十 * 十齱龠己 亅瓦車己 * 乙龍龠毋日丶 丶乙己毋毋丶 * 十龠馬鬼車瓦 己十瓦毋毋 * 鬼馬龠馬龠十 己己毋車毋瓦 * 毋龠龠龍龠鬼乙丶丶乙車乙毋鬼車己 * 乙龠龍龍鬼龍瓦 十瓦毋乙瓦龠瓦亅 * 馬齱龍馬鬼十丶日己己己毋車乙丶 * 己齱馬鬼車十十毋日乙己己乙乙 * 車馬齱齱日乙毋瓦己乙瓦日亅 * 亅車齺龖瓦乙車龖龍乙乙十 * 日龠龠十亅車龍毋十十 * 日毋己亅 己己十亅亅 * 丶己十十乙 丶丶丶丶丶 * 亅己十龍龖瓦 丶 丶 乙十 * 亅己十龠龖毋 丶丶 丶己鬼鬼瓦亅 * 十日十十日亅丶亅丶 丶十日毋鬼馬馬車乙 * 十日乙十亅亅亅丶 十乙己毋鬼鬼鬼龍齺馬乙 * 丶瓦己乙十十亅丶亅乙乙乙己毋鬼鬼鬼龍齱齺齺鬼十 * 乙乙十十十亅乙瓦瓦己日瓦毋鬼鬼龠齱齱龍龍齱齱毋丶 * 亅十十十十乙瓦車毋瓦瓦日車馬龠龍龍龍龍龍龠龠龠馬亅 * 十十十十己毋車瓦瓦瓦瓦鬼馬龠龍龠龠龍龠龠龠馬龠車 * 亅十十日毋瓦日日瓦鬼鬼鬼龠龠馬馬龠龍龍龠馬馬車 * 亅亅亅乙瓦瓦毋車車車馬龍龠鬼鬼馬龠龍龍龠馬馬鬼 * 丶丶乙亅亅乙車鬼鬼鬼毋車龍龍龠鬼馬馬龠龍齱齱龍馬鬼 * 亅己十十己十日鬼鬼車瓦毋龠龍龠馬馬龠龠龠齱齺齺齱龠鬼 * 亅乙乙乙十車馬車毋馬齱齱龍龠龠龠馬龠龍齱龍龠龠鬼瓦 * 丶毋龠鬼車瓦車馬龠龍龠龠龍齱齱龠馬馬鬼毋日 * 十乙己日十 丶己鬼龍齱齺齱龍馬馬馬車毋己 * 丶十己乙亅丶 亅瓦馬龠龍龠龠馬毋瓦乙 * 丶十十乙亅十 亅己瓦車馬龠鬼車瓦乙 * 丶十乙十十丶 丶丶亅十瓦鬼車瓦己 * 丶亅亅丶 亅日瓦日 * 丶 *//*** * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ * │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ * │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ * ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││ * │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│ * └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ *//*** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____ * . ' \\| |// `. * / \\||| : |||// \ * / _||||| -:- |||||- \ * | | \\\ - /// | | * | \_| ''\---/'' | | * \ .-\__ `-` ___/-. / * ___`. .' /--.--\ `. . __ * ."" '< `.___\_<|>_/___.' >'"". * | | : `- \`.;`\ _ /`;.`/ - ` : | | * \ \ `-. \_ __\ /__ _/ .-` / / * ======`-.____`-.___\_____/___.-`____.-'====== * `=---=' * * ............................................. * 佛祖保佑 永无BUG *//*** * 佛曰: * 写字楼里写字间,写字间里程序员; * 程序人员写程序,又拿程序换酒钱。 * 酒醒只在网上坐,酒醉还来网下眠; * 酒醉酒醒日复日,网上网下年复年。 * 但愿老死电脑间,不愿鞠躬老板前; * 奔驰宝马贵者趣,公交自行程序员。 * 别人笑我忒疯癫,我笑自己命太贱; * 不见满街漂亮妹,哪个归得程序员? *//*** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ___/`---'\____ * . ' \\| |// `. * / \\||| : |||// \ * / _||||| -:- |||||- \ * | | \\\ - /// | | * | \_| ''\---/'' | | * \ .-\__ `-` ___/-. / * ___`. .' /--.--\ `. . __ * ."" '< `.___\_<|>_/___.' >'"". * | | : `- \`.;`\ _ /`;.`/ - ` : | | * \ \ `-. \_ __\ /__ _/ .-` / / * ======`-.____`-.___\_____/___.-`____.-'====== * `=---=' * ............................................. * 佛曰:bug泛滥,我已瘫痪! *//*** * ┌─┐ ┌─┐ * ┌──┘ ┴───────┘ ┴──┐ * │ │ * │ ─── │ * │ ─┬┘ └┬─ │ * │ │ * │ ─┴─ │ * │ │ * └───┐ ┌───┘ * │ │ * │ │ * │ │ * │ └──────────────┐ * │ │ * │ ├─┐ * │ ┌─┘ * │ │ * └─┐ ┐ ┌───────┬──┐ ┌──┘ * │ ─┤ ─┤ │ ─┤ ─┤ * └──┴──┘ └──┴──┘ * 神兽保佑 * 代码无BUG! *//*** * ___====-_ _-====___ * _--^^^#####// \\#####^^^--_ * _-^##########// ( ) \\##########^-_ * -############// |\^^/| \\############- * _/############// (@::@) \\############\_ * /#############(( \\// ))#############\ * -###############\\ (oo) //###############- * -#################\\ / VV \ //#################- * -###################\\/ \//###################- * _#/|##########/\######( /\ )######/\##########|\#_ * |/ |#/\#/\#/\/ \#/\##\ | | /##/\#/ \/\#/\#/\#| \| * ` |/ V V ` V \#\| | | |/#/ V ' V V \| ' * ` ` ` ` / | | | | \ ' ' ' ' * ( | | | | ) * __\ | | | | /__ * (vvv(VVV)(VVV)vvv) * 神兽保佑 * 代码无BUG! *//*** * * * __----~~~~~~~~~~~------___ * . . ~~//====...... __--~ ~~ * -. \_|// |||\\ ~~~~~~::::... /~ * ___-==_ _-~o~ \/ ||| \\ _/~~- * __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ * _-~~ .=~ | \\-_ '-~7 /- / || \ / * .~ .~ | \\ -_ / /- / || \ / * / ____ / | \\ ~-_/ /|- _/ .|| \ / * |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ * ' ~-| /| |-~\~~ __--~~ * |-~~-_/ | | ~\_ _-~ /\ * / \ \__ \/~ \__ * _--~ _/ | .-~~____--~-/ ~~==. * ((->/~ '.|||' -_| ~~-/ , . _|| * -_ ~\ ~~---l__i__i__i--~~_/ * _-~-__ ~) \--______________--~~ * //.-~~~-~_--~- |-------~~~~~~~~ * //.-~~~--\ * 神兽保佑 * 代码无BUG! *//*** ************************************************************** * * * .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-. * * | ______ | * * | .-" "-. | * * | / \ | * * | _ | | _ | * * | ( \ |, .-. .-. ,| / ) | * * | > "=._ | )(__/ \__)( | _.=" < | * * | (_/"=._"=._ |/ /\ \| _.="_.="\_) | * * | "=._"(_ ^^ _)"_.=" | * * | "=\__|IIIIII|__/=" | * * | _.="| \IIIIII/ |"=._ | * * | _ _.="_.="\ /"=._"=._ _ | * * | ( \_.="_.=" `--------` "=._"=._/ ) | * * | > _.=" "=._ < | * * | (_/ \_) | * * | | * * '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=' * * * * LASCIATE OGNI SPERANZA, VOI CH'ENTRATE * ************************************************************** *//*** * ,s555SB@@& * :9H####@@@@@Xi * 1@@@@@@@@@@@@@@8 * ,8@@@@@@@@@B@@@@@@8 * :B@@@@X3hi8Bs;B@@@@@Ah, * ,8i r@@@B: 1S ,M@@@@@@#8; * 1AB35.i: X@@8 . SGhr ,A@@@@@@@@S * 1@h31MX8 18Hhh3i .i3r ,A@@@@@@@@@5 * ;@&i,58r5 rGSS: :B@@@@@@@@@@A * 1#i . 9i hX. .: .5@@@@@@@@@@@1 * sG1, ,G53s. 9#Xi;hS5 3B@@@@@@@B1 * .h8h.,A@@@MXSs, #@H1: 3ssSSX@1 * s ,@@@@@@@@@@@@Xhi, r#@@X1s9M8 .GA981 * ,. rS8H#@@@@@@@@@@#HG51;. .h31i;9@r .8@@@@BS;i; * .19AXXXAB@@@@@@@@@@@@@@#MHXG893hrX#XGGXM@@@@@@@@@@MS * s@@MM@@@hsX#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&, * :GB@#3G@@Brs ,1GM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B, * .hM@@@#@@#MX 51 r;iSGAM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 * :3B@@@@@@@@@@@&9@h :Gs .;sSXH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: * s&HA#@@@@@@@@@@@@@@M89A;.8S. ,r3@@@@@@@@@@@@@@@@@@@@@@@@@@@r * ,13B@@@@@@@@@@@@@@@@@@@5 5B3 ;. ;@@@@@@@@@@@@@@@@@@@@@@@@@@@i * 5#@@#&@@@@@@@@@@@@@@@@@@9 .39: ;@@@@@@@@@@@@@@@@@@@@@@@@@@@; * 9@@@X:MM@@@@@@@@@@@@@@@#; ;31. H@@@@@@@@@@@@@@@@@@@@@@@@@@: * SH#@B9.rM@@@@@@@@@@@@@B :. 3@@@@@@@@@@@@@@@@@@@@@@@@@@5 * ,:. 9@@@@@@@@@@@#HB5 .M@@@@@@@@@@@@@@@@@@@@@@@@@B * ,ssirhSM@&1;i19911i,. s@@@@@@@@@@@@@@@@@@@@@@@@@@S * ,,,rHAri1h1rh&@#353Sh: 8@@@@@@@@@@@@@@@@@@@@@@@@@#: * .A3hH@#5S553&@@#h i:i9S #@@@@@@@@@@@@@@@@@@@@@@@@@A. * * * 又看源码,看你妹妹呀! *//*** *_______________#########_______________________ *______________############_____________________ *______________#############____________________ *_____________##__###########___________________ *____________###__######_#####__________________ *____________###_#######___####_________________ *___________###__##########_####________________ *__________####__###########_####_______________ *________#####___###########__#####_____________ *_______######___###_########___#####___________ *_______#####___###___########___######_________ *______######___###__###########___######_______ *_____######___####_##############__######______ *____#######__#####################_#######_____ *____#######__##############################____ *___#######__######_#################_#######___ *___#######__######_######_#########___######___ *___#######____##__######___######_____######___ *___#######________######____#####_____#####____ *____######________#####_____#####_____####_____ *_____#####________####______#####_____###______ *______#####______;###________###______#________ *________##_______####________####______________ *//*** * http://www.vvhan.com/ * .--, .--, * ( ( \.---./ ) ) * '.__/o o\__.' * {= ^ =} * > - < * / \ * // \\ * //| . |\\ * "'\ /'"_.-~^`'-. * \ _ /--' ` * ___)( )(___ * (((__) (__))) 高山仰止,景行行止.虽不能至,心向往之。 *//*** * 这个公司没有年终奖的,兄弟别指望了,也别来了,我准备辞职了 * 另外这个项目有很多*Bug* 你坚持不了多久的,拜拜! *//*** * When I wrote this, only God and I understood what I was doing * Now, God only knows *//*** * 写这段代码的时候,只有上帝和我知道它是干嘛的 * 现在,只有上帝知道 *//*** * 程序员1(于2010年6月7日):在这个坑临时加入一些调料 * 程序员2(于2011年5月22日):临你个屁啊 * 程序员3(于2012年7月23日):楼上都是狗屎,鉴定完毕 * 程序员4(于2013年8月2日):fuck 楼上,三年了,这坑还在!!! * 程序员5(于2014年8月21日):哈哈哈,这坑居然坑了这么多人,幸好我也不用填了,系统终止运行了,you're died *//*** * For the brave souls who get this far: You are the chosen ones, * the valiant knights of programming who toil away, without rest, * fixing our most awful code. To you, true saviors, kings of men, * I say this: never gonna give you up, never gonna let you down, * never gonna run around and desert you. Never gonna make you cry, * never gonna say goodbye. Never gonna tell a lie and hurt you. *//*** * 致终于来到这里的勇敢的人: * 你是被上帝选中的人,是英勇的、不敌辛苦的、不眠不休的来修改我们这最棘手的代码的编程骑士。 * 你,我们的救世主,人中之龙,我要对你说:永远不要放弃,永远不要对自己失望,永远不要逃走,辜负了自己, * 永远不要哭啼,永远不要说再见,永远不要说谎来伤害自己。 *//*** * Dear maintainer: * * Once you are done trying to 'optimize' this routine, * and have realized what a terrible mistake that was, * please increment the following counter as a warning * to the next guy: * * total_hours_wasted_here = 42 *//*** * 亲爱的维护者: * * 如果你尝试了对这段程序进行'优化' * 下面这个计数器的个数用来对后来人进行警告 * * 浪费在这里的总时间 = 42h */// If this comment is removed the program will blow up // 如果删了此处注释程序就炸了
2020年08月26日
2,298 阅读
4 评论
1 点赞
2020-08-03
PHP常用函数总结
码代码时容易用到的基础函数总结。上代码//PHP设置跨域 header("Access-Control-Allow-Origin:*"); //PHP设置JSON头 以JSON格式输出 header("Content-type:application/json; charset=utf-8"); //正则取字符串 preg_match_all('/字符串(.*?)字符串/i',$data,$out); // PHP把JSON对象转字符串不转码输出 json_encode($results, JSON_UNESCAPED_UNICODE); //PHP设置最大运行时间 0 是永久 set_time_limit(0); //PHP设置最大运行内存 1024M 是1G ini_set('memory_limit', '1024M'); //返回数组中元素的个数,可以理解为返回数组的长度 count(); //获取变量中的字符串值,可以理解为把变量转换成字符串类型 strval(); //查询数组里是否存在着指定的健名,返回true和false array_key_exists(键名,数组); //特殊字符转换,可有效的防止xss注入 htmlspecialchars(addslashes(变量)); //清除字符串两旁的空格 trim(); // 向文件追加写入内容 // 使用 FILE_APPEND 标记,可以在文件末尾追加内容 // LOCK_EX 标记可以防止多人同时写入 file_put_contents(文件路径, 要写入的内容, FILE_APPEND | LOCK_EX); //查询数组里是否存在该键值,存在返回该键值的键名,如果有多个匹配,那么返回最先匹配到的键值的键名 //false代表不限类型,键值数据相同即可 //true代表完全匹配,要求数据类型和键值完全相同,默认为false array_search("键值", 数组, false); //把变量转换为整数类型,如果有小数,则删除小数,不执行四舍五入 //失败或者变量为空时返回0,否则返回1; intval(); //往数组尾部插入一个或多个元素 //返回新数组 array_push($a, "要插入的元素", "要插入的元素"); //把变量类型转换为字符串类型 //返回该字符串 strval(); // 查询数组里是否存在该键值,存在返回true,反之返回false //false代表不限类型,键值数据相同即可 //true代表完全匹配,要求数据类型和键值完全相同,默认为false in_array('键值', 数组, false); //新建mysql服务器连接,可理解为新建数据库连接 $mysql = mysqli_connect("ip", "用户名", "密码", "数据库", "端口(默认为3306)"); //修改数据库连接的字符集 mysqli_set_charset($mysql, "utf8"); //对数据库进行sql操作 mysqli_query($mysql, sql语句); //返回结果集的中行的数量,可理解为返回结果集的长度 mysqli_num_rows(); //从结果集中获取一条数据,并作为数组返回 mysqli_fetch_row(); //以切割符为断点切割字符串,组成数组并返回, //数组的数目也就是长度 //大于0,返回相对数值的数组,如1,返回的数组只有一个元素, 0也返回只有一个元素的数组 //小于0,从数组尾部开始,去除 (-x) 的绝对值个元素,返回 explode("分割符", 变量, 返回数组元素的数目); //把数组里的元素打乱随机排序 shuffle(); //截取保留结果集的第 n 条数据,其他删除,并返回 //n为0时截取第一条,为1时截取第二条,以此类推,n为-1时截取最后一条 mysqli_data_seek($xx, n); //将数组转为json格式 json_encode(); //将json格式转为数组对象 json_decode($xxx); //检测变量是否为数字,返回 true false is_numeric(变量); //将json格式转为数组 json_decode($xxx, true); //清除指定的变量 unset($a); //字符串替换指定值 //搜索$pic字符串里的\符号,全部替换成/ str_replace("\\", "/", $pic); //设置时区 PRC为中国时区 date_default_timezone_set("PRC"); //获取当前时间 date('Y-m-d H:i:s', time()); //获取当前0点的时间戳 strtotime(date("Y-m-d"), time()); //下个月现在的时间戳 strtotime('+1 month'); //获取当前时间戳 time(); //获取当前时间的微秒 microtime(); //把日期时间转换成时间戳 strtotime(); //例:strtotime("2019-01-01 00:00:00"); //检查变量是否存在 isset(); //检查当前文件是否存在 file_exists(); //延迟下面的程序执行,1为延迟一秒后再执行后面的程序 sleep(1); //创建目录,并且设置最高权限 mkdir(目录名称, 0700, true); //创建一个0到100的随机数 mt_rand(0, 100); rand(0,100); //根据需求创建一个数组如: range(0, 100); //结果 Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ... [100] => 100 ); //首字母转换为大写 ucwords(); //返回当前内存消耗量 memory_get_usage(); //获取一个数组的全部键名 array_keys(数组); //获取一个数组的全部健值 array_values(数组); //php引入php文件 require()、include()、require_once()、include_once() //require和include相同点:都是引入并执行文件 //require和include不同点: //require一般只会放在PHP脚本最前面进行使用,因为它会先行执行文件,需等待require引入的文件执行完成方可继续执行下去,如果require执行文件时出现错误,则会返回一个致命错误,并带掉程序。 //include一般是放在脚本中间进行使用,因为它不会先行执行,只会在用到的时候再执行加载,如果include引入的文件执行错误,不会带掉程序,只会返回一个警告,然后程序继续执行下去 //而require_once()和include_once()则跟require和include一样,唯一多出的一点属性就是:检测文件是否已经加载过,如果已经加载过了,就不再进行加载了 //检测ip是否合法 long2ip()和ip2long() //ip2long():把ip转换成为整形,如:2130706433,如果ip不是合法ip则返回空 //long2ip():把整形转换为ip,如果整形为空则返回0.0.0.0 long2ip(ip2long("127.0.0.1")); //数组转为字符串 implode(",", 数组); //查看php设置 phpinfo(); public(公共的、默认) protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。 private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。 static 把方法设置成静态方法 interface 定义接口 如 interface a { //抽象方法,里面不添加任何数据及逻辑 public function b(); } abstract 可把当前类定义为抽象类,抽象类时不能实例化的,等着被继承 implements 实现接口,和extends不同的是,如果当前类里面实现了这个接口a,但是类里面没有方法b,那么就会报错 extends 继承类,使用过框架的都知道,他的作用就是继承某个类,从而让他更容易的调用里面的方法 paremt::方法名 子类调用父类方法 //检查扩展是否已加载 ,返回布尔值 extension_loaded() //加载图片的基本信息,返回值为数组 getimagesize() //输出结果: array( [0] => 图片宽度的像素值 [1] => 图片高度的像素值 [2] => 图片的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM [3] => 图片的宽高 [bits] => 图片的每种颜色的位数,二进制格式 [mime] => 图片的 MIME 信息,此信息可以用来在 HTTP Content - type 头信息中发送正确的信息,如: header("Content-type: image/jpeg"); ) //获取图片后缀 注:当获取的图片后缀为jpg的时候,将会输出jpeg,当false为true时则输出.png image_type_to_extension(getimagesize('./01.png')[2], false); //创建画板,默认背景颜色为黑色 imagecreatetruecolor(宽,高); //给画板设置背景颜色 imagecolorallocate(imagecreatetruecolor(宽,高), 255, 255, 255); //压缩 imagecopyresampled(画板,图片,画板X坐标点,画板y坐标点,图片x坐标点,图片y坐标点,要压缩到多宽,要压缩到多高,图片的宽,图片的高); //销毁图像资源 imagedestroy(); //合并图片,把图片2放到图片1里面 imagecopymerge(图片1,图片2,图片1x坐标点,图片2y坐标点,图片1x坐标点,图片2y坐标点,图片2的宽,图片2的高,透明度); //设置字体的颜色 imagecolorallocatealpha(图片或者画板,rgb颜色1,rgb颜色2,rgb颜色3,透明度); //在图片或者画板里设置水印 imagettftext(画板或者图片, 字体大小, 字体倾斜度, 字体的x坐标, 字体的y坐标, 字体的颜色imagecolorallocatealpha(), 字体文件如:'STHUPO.TTF', 要输出的文字);
2020年08月03日
2,911 阅读
0 评论
0 点赞
1
...
20
21
22
...
33