首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,339 阅读
2
PP.UA免费域名注册
2,192 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,178 阅读
4
7-Zip中文美化版
2,039 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,957 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
工具软件
代码
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
Windows
上传下载
建站
PDF
网盘
Typecho
Office
ZJ
累计撰写
811
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
811
篇与
的结果
2019-12-11
免费的文件夹比较及同步软件 FreeFileSync
FreeFileSync是一个文件夹比较和同步软件,可以创建和管理所有重要文件的备份副本。FreeFileSync无需每次都复制每个文件,而是确定源文件夹和目标文件夹之间的差异,并仅传输所需的最少数据量。FreeFileSync是开放源代码软件,可用于Windows,macOS和Linux。
2019年12月11日
345 阅读
0 评论
0 点赞
2019-12-11
Office密码恢复 – Advanced Office Password Recovery(附序列号)
Advanced Office Password Recovery是一款针对 MS Office 系列的密码破解工具。Office密码恢复、替换、删除或绕过使用MicrosoftOffice应用程序创建的即时密码保护或锁定文档。软件提供了“暴力”和“字典”两种破解方式,如果时间足够加上破解策略得当,AOPR完全可以找回用户遗忘的文档密码。支持从 2.0 到 2016 的所有Microsoft Office版本,拥有多种攻击类型,并可自定义添加常用的字典文件用于字典攻击。使用方法:步骤一 字典模式破解1.打开AOPR软件。比如电脑中有一个Word文档,忘记了设置的密码,打不开了。我们双击桌面上的AOPR软件图标打开软件,软件主界面如下图所示,我们可以看到软件默认用“字典破解”法。2.打开文件。鼠标单击软件左上角的“打开文件”按钮,在弹出的对话框找到待破解的文件,单击打开,即可打开需要破解密码的文件。3.自动开始用字典模式破解(软件已经录入的一些常规密码,逐个尝试)。这时 Office密码破解工具会自动开始破解密码,先执行初步破解,如果密码设置简单,那么可以很快找到密码。但是大部分可能下是找不到密码的。步骤二 暴力破解1.进入暴力破解界面。由于上面的初步破解没有成功,所以要执行暴力破解,鼠标单击“暴力”选项,这里可以对密码长度、包含的字符集和起始密码进行设置,从而缩小密码范围,不然时间会很长。在进行暴力破解时可以有针对性地载入合适的字符集以获取更加迅速的破解性能,关于载入不同字符集的教程可参考:如何载入不同的Advanced Office Password Recovery字符集。图5:开始暴力破解步骤三 自定义字符范围1.如果以上方法都没有成功,我们可以大致确定密码的字符范围,自定义字符集。单击“定义自定义字符集”按钮,在弹出的对话框设置文本中的字符。图7:密码已恢复对话框以上就是给大家介绍的使用AOPR破解Word、Excel、PPT等Office文件密码的技巧,如果初步破解没有成功,则需要尝试下面的第二步、第三步,直至密码被恢复为止。提取码:隐藏内容,请前往内页查看详情下载地址 蓝奏网盘
2019年12月11日
751 阅读
1 评论
0 点赞
2019-12-10
PHP实现随机选取图像代码
创建images文件夹,把需要选取的图片复制到这个文件夹下,并随机挑选出一张显示出来。<?php $img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE); if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/images/ 文件夹'); header('Content-Type: image/png'); echo(file_get_contents($img_array[array_rand($img_array)])); ?>
2019年12月10日
338 阅读
0 评论
0 点赞
2019-12-10
搭建一个属于自己的音乐平台
MKOnlineMusicPlayer是一款开源的基于Meting的在线音乐播放器。具有音乐搜索、播放、下载、歌词同步显示、个人网易云音乐播放列表同步等功能。前端界面参照 QQ 音乐网页版进行布局,同时采用了流行的响应式设计,无论是在PC端还是在手机端,均能给您带来原生app般的使用体验。运行环境:php 5.4+, curl_exec, file_get_contents, json_decode, openssl_encrypt
2019年12月10日
1,294 阅读
0 评论
0 点赞
2019-12-10
美化Emlog的文章访问密码页面
Emlog美化只能通过直接修改代码来实现,具体的位置在include/model/log_model.php文件末尾的authPassword代码。找到以下代码: if ($pwd !== addslashes($logPwd)) { echo <<<EOT <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>emlog message</title> <style type="text/css"> <!-- body{background-color:#F7F7F7;font-family: Arial;font-size: 12px;line-height:150%;} .main{background-color:#FFFFFF;margin-top:20px;font-size: 12px;color: #666666;width:580px;margin:10px 200px;padding:10px;list-style:none;border:#DFDFDF 1px solid;} --> </style> </head> <body> <div class="main"> <form action="" method="post"> 请输入该文章的访问密码<br> <input type="password" name="logpwd" /><input type="submit" value="进入.." /> <br /><br /><a href="$url">«返回首页</a> </form> </div> </body> </html> EOT; if ($cookiePwd) { setcookie('em_logpwd_' . $logid, ' ', time() - 31536000); }替换为如下代码: if ($pwd !== addslashes($logPwd)) { ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>该文章已被加密</title> </head> <body> <div class="main"> <img class="alert" alt="文章已被加密" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIoAAACACAMAAADjwgEwAAAAOVBMVEUAAAD5dBr7dRj4dBn/cBD5cxr4cxn6chj7dBj/cBj5cxr5dBn6cxn4dBn5cxr6dRX5cxr5cxr5dBoQJfbPAAAAEnRSTlMAgD/AEPDgYEAgoLCQcFAw0J/MNdW8AAADg0lEQVR42s3b7W7iMBSEYWftxA75At//xW7VZRWnQ3WkvOKE+VmJMtjxg8Ek4Iy5e8zdmsLFSXmoz8QSrsw61CZxDJdlrsf0OVyUR5WALrDJh3SZ68uswT1rfZ3e/dpNff0lMTjnVr/yEVO01SZdWae6Z/CFNzYXxxa+kttqwTHl2ORHl95zWBrvl/BMM0e34JZ8XC+6phwWtD7ptv95uWBBdzIVMm0luGTshVYB+B5ccvt12Ubnt8Xt91Vb3JyzX/rk5Jy+cr2M3Jyzl8nMnOO6Bewc103TMee4btw5rpsmA+e4bm7O2boh57huS9twyaODc7Zu43fBR3J1bni1q0/Pv0bgHNNNl3cGzgHdyouhmqBzXLf9SZ2c01HXKsA5pptWcXJOV6hWAc5R3bQKcI7qplUcnLs3uhlV1Ln5bboZVd7rXGqdMKuoQ9ObdDOqAOeAbkYVY0fOdTOqAOeAblLFEOAdutlVbOe4bmYV4BzQzahiOId104DPrVw3uwp3zv5fdhXgHNDNqAKcs3Sbw4kqhnNAN7vK25yLhlFGFcM5pJtdBTtn65ZPVDGcY7rZVbhzpgmgitgEdQNV5DUx3UAV5pxebaCKOMd0A1WYcyoTqKJWIt1AFeSczi6rou+rQDdQBTmnEoAqzLn9cfvjYBXdmQLdQBXgnOrGq+j7PNANVAHOiW6gCnBO2idQBTunuvEqtnPoxE2rgJXJdNMqyCt8OqsnH8A5NoZ6HgScoyf5+ykZ+raGr7f97PCWwD4I6iYnquCbPa4b/0aA6OZwgo9/NwV2IEC3950YeP7GTp1DuhkBzpkDx2M7x3XTAOfMRWZn7OJwn5YETjCQbjqtw8qc47o95GHAOaTbUptswDmkm/6aPwLnsG65HpKQc/rqtvP3fRTgHNUt1kM67tx49u6RqR6SgXNIt30097mlzpXT5G+1zQD2c3zvFmV+kHM6aedgieDBz2GZyN5t2+87TGQ/131PGdu7pa7/Hs/M9nPDD2i3cCqllA3s5/bnjqKbY4bDDLXFQOiwxJaGe/BP2gcihCLQuiZKlV1f58zNDmr9lNtLSyg+C8jeKrSXbX/pCqqHxdyvwTO6j53qnvu8/nFLfgz1uGXJ9SMy/sP3A3J7fhq7Pv34f21fnkUWt3eUtDTVSzPL1u6SKGfjrV6TvtM98bhccMlMOYWXSWXpHJNLaPMXZ8oyOMxlLIsAAAAASUVORK5CYII="> <form action="" method="post" class="mk-side-form"> <h2 class="pw-tip">该文章已被加密</h2> <input type="password" name="logpwd" placeholder="请输入访问密码查看" required><button type="submit">提交</button> <?php if($postPwd): ?> <p id="pw-error">Oops!密码不对哦~</p> <script>setTimeout(function() {document.getElementById("pw-error").style.display = "none"}, 2000);</script> <?php endif; ?> </form> <a href="<?php echo $url; ?>" class="return-home" title="点击回到网站首页">- 返回首页 - </a> </div> <style type="text/css"> *{font-family:"Microsoft Yahei",微软雅黑,"Helvetica Neue",Helvetica,"Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;box-sizing:border-box;margin:0px;padding:0px;font-size:14px;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;-o-transition:.2s;transition:.2s} html,body{width:100%;height:100%} body{background-color:#F4F6F9;color:#768093} input,button{font-size:1em;border-radius:3px;-webkit-appearance:none} input{width:100%;padding:5px;box-sizing:border-box;border:1px solid #e5e9ef;background-color:#f4f5f7;resize:vertical} input:focus{background-color:#fff;outline:none} button{border:0;background:#6abd09;color:#fff;cursor:pointer;opacity:1;user-select:none} button:hover,button:focus{opacity:.9} button:active{opacity:1} .main{width:100%;max-width:500px;height:300px;padding:30px;background-color:#fff;border-radius:2px;box-shadow:0 10px 60px 0 rgba(29,29,31,0.09);transition:all .12s ease-out;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;text-align:center} .alert{width:80px} .mk-side-form{margin-bottom:28px} .mk-side-form input{float:left;padding:2px 10px;width:77%;height:37px;border:1px solid #ebebeb;border-right-color:transparent;border-radius:2px 0 0 2px;line-height:37px} .mk-side-form button{position:relative;overflow:visible;width:23%;height:37px;border-radius:0 2px 2px 0;text-transform:uppercase} .pw-tip{font-weight:normal;font-size:26px;text-align:center;margin:25px auto} #pw-error {color: red;margin-top: 15px;margin-bottom: -20px;} .return-home{text-decoration:none;color:#b1b1b1;font-size:16px} .return-home:hover{color:#1E9FFF;letter-spacing:5px} </style> </body> </html> <?php if ($cookiePwd) { setcookie('em_logpwd_' . $logid, ' ', time() - 31536000); }
2019年12月10日
285 阅读
0 评论
0 点赞
2019-12-10
基于本地数据库的IP地址查询
今天来分享一个基于本地数据库的IP地址查询PHP源码:<?php /** * 纯真 IP 数据库查询 * * 参考资料: * - 纯真 IP 数据库 http://www.cz88.net/ip/ * - PHP 读取纯真IP地址数据库 http://ju.outofmemory.cn/entry/42500 * - 纯真 IP 数据库自动更新文件教程 https://www.22vd.com/40035.html * - IpLocation https://github.com/nauxliu/IpLocation/ * - 基于本地数据库的 IP 地址查询 PHP 源码 https://mkblog.cn/?p=1951 * * 使用示例: * $ip = new IPQuery(); * $addr = $ip->query('IP地址'); * print_r($addr); */ class IPQuery { private $fh; // IP数据库文件句柄 private $first; // 第一条索引 private $last; // 最后一条索引 private $total; // 索引总数 private $dbFile = __DIR__ . DIRECTORY_SEPARATOR . 'qqwry.dat'; // 纯真 IP 数据库文件存放路径 private $dbExpires = 86400 * 10; // 数据库文件有效期(10天)如无需自动更新 IP 数据库,请将此值改为 0 // 构造函数 function __construct() { // IP 数据库文件不存在或已过期,则自动获取 if(!file_exists($this->dbFile) || ($this->dbExpires && ((time() - filemtime($this->dbFile)) > $this->dbExpires))) { $this->update(); } } // 忽略超时 private function ignore_timeout() { @ignore_user_abort(true); @ini_set('max_execution_time', 48 * 60 * 60); @set_time_limit(48 * 60 * 60); // set_time_limit(0) 2day @ini_set('memory_limit', '4000M');// 4G; } // 读取little-endian编码的4个字节转化为长整型数 private function getLong4() { $result = unpack('Vlong', fread($this->fh, 4)); return $result['long']; } // 读取little-endian编码的3个字节转化为长整型数 private function getLong3() { $result = unpack('Vlong', fread($this->fh, 3).chr(0)); return $result['long']; } // 查询位置信息 private function getPos($data = '') { $char = fread($this->fh, 1); while (ord($char) != 0) { // 地区信息以 0 结束 $data .= $char; $char = fread($this->fh, 1); } return $data; } // 查询运营商 private function getISP() { $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 0: $area = ''; break; // 没有相关信息 case 1: // 被重定向 fseek($this->fh, $this->getLong3()); $area = $this->getPos(); break; case 2: // 被重定向 fseek($this->fh, $this->getLong3()); $area = $this->getPos(); break; default: $area = $this->getPos($byte); break; // 没有被重定向 } return $area; } // 检查 IP 格式是否正确 public function checkIp($ip) { $arr = explode('.', $ip); if(count($arr) != 4) return false; for ($i = 0; $i < 4; $i++) { if ($arr[$i] < '0' || $arr[$i] > '255') { return false; } } return true; } // 查询 IP 地址 public function query($ip) { if(!$this->checkIp($ip)) { return false; } $this->fh = fopen($this->dbFile, 'rb'); $this->first = $this->getLong4(); $this->last = $this->getLong4(); $this->total = ($this->last - $this->first) / 7; // 每条索引7字节 $ip = pack('N', intval(ip2long($ip))); // 二分查找 IP 位置 $l = 0; $r = $this->total; while($l <= $r) { $m = floor(($l + $r) / 2); // 计算中间索引 fseek($this->fh, $this->first + $m * 7); $beginip = strrev(fread($this->fh, 4)); // 中间索引的开始IP地址 fseek($this->fh, $this->getLong3()); $endip = strrev(fread($this->fh, 4)); // 中间索引的结束IP地址 if ($ip < $beginip) { // 用户的IP小于中间索引的开始IP地址时 $r = $m - 1; } else { if ($ip > $endip) { // 用户的IP大于中间索引的结束IP地址时 $l = $m + 1; } else { // 用户IP在中间索引的IP范围内时 $findip = $this->first + $m * 7; break; } } } // 查找 IP 地址段 fseek($this->fh, $findip); $location['beginip'] = long2ip($this->getLong4()); // 用户IP所在范围的开始地址 $offset = $this->getlong3(); fseek($this->fh, $offset); $location['endip'] = long2ip($this->getLong4()); // 用户IP所在范围的结束地址 // 查找 IP 信息 $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 1: // 都被重定向 $countryOffset = $this->getLong3(); // 重定向地址 fseek($this->fh, $countryOffset); $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 2: // 信息被二次重定向 fseek($this->fh, $this->getLong3()); $location['pos'] = $this->getPos(); fseek($this->fh, $countryOffset + 4); $location['isp'] = $this->getISP(); break; default: // 信息没有被二次重定向 $location['pos'] = $this->getPos($byte); $location['isp'] = $this->getISP(); break; } break; case 2: // 信息被重定向 fseek($this->fh, $this->getLong3()); $location['pos'] = $this->getPos(); fseek($this->fh, $offset + 8); $location['isp'] = $this->getISP(); break; default: // 信息没有被重定向 $location['pos'] = $this->getPos($byte); $location['isp'] = $this->getISP(); break; } // 信息转码处理 foreach ($location as $k => $v) { $location[$k] = iconv('gb2312', 'utf-8', $v); $location[$k] = preg_replace(array('/^.*CZ88\.NET.*$/isU', '/^.*纯真.*$/isU', '/^.*日IP数据/'), '', $location[$k]); $location[$k] = htmlspecialchars($location[$k]); } return $location; } // 更新数据库 https://www.22vd.com/40035.html public function update() { $this->ignore_timeout(); $copywrite = file_get_contents('http://update.cz88.net/ip/copywrite.rar'); $qqwry = file_get_contents('http://update.cz88.net/ip/qqwry.rar'); $key = unpack('V6', $copywrite)[6]; for($i = 0; $i < 0x200; $i++) { $key *= 0x805; $key ++; $key = $key & 0xFF; $qqwry[$i] = chr(ord($qqwry[$i]) ^ $key); } $qqwry = gzuncompress($qqwry); file_put_contents($this->dbFile, $qqwry); } // 析构函数 function __destruct() { if($this->fh) { fclose($this->fh); } $this->fp = null; } }使用方法将上面的模块代码保存为 IPQuery.class.php,然后按照如下方法调用即可:<?php require_once('IPQuery.class.php'); $ip = new IPQuery(); $addr = $ip->query('123.233.233.233'); echo "<pre> IP起始段:{$addr['beginip']} IP结束段:{$addr['endip']} 实际地址:{$addr['pos']} 运 营 商:{$addr['isp']} </pre>";注:本模块会在第一次被调用时自动从纯真网下载最新的 IP 数据库到本地,因此第一次进行查询时会有点慢。
2019年12月10日
303 阅读
0 评论
0 点赞
2019-12-10
11VM Serv 100M-1G免费托管
11VM Serv成立于2002年,是一个自我管理的主机,经过15多年的项目开发,合作伙伴关系,研究和发展,11VM Serv能够在保持今天的状态下进行开发,他的出发哲学。多年来,11VM Serv得到了多家技术或财务合作伙伴的支持和支持。11VM Serv是提供高质量托管服务的替代主机,主要提供免费的教育,社会,研究,技术和免费领域的可用项目。11VM Serv自2002年以来,提供免费和无广告的托管解决方案。申请地址:https://www.11vm-serv.net
2019年12月10日
309 阅读
0 评论
0 点赞
2019-12-10
PHP简单实现一言随机一句功能
首先新建一个php文件,命名为api.php,再新建一个文件,命名为data.dat(两个文件均需采用 UTF-8 编码,否则会乱码)。打开 data.dat,在里面贴入要随机显示出来的文本,一行一条。将下列代码复制并粘贴到api.php中保存,你的专属“一言” API就搭建完成了!fopen + fgets 函数实现代码<?php // 存储数据的文件 $filename = 'data.dat'; // 指定页面编码 header('Content-type: text/html; charset=utf-8'); if(!file_exists($filename)) { die($filename . ' 数据文件不存在'); } $data = array(); // 打开文档 $fh = fopen($filename, 'r'); // 逐行读取并存入数组中 while (!feof($fh)) { $data[] = fgets($fh); } // 关闭文档 fclose($fh); // 随机获取一行索引 $result = $data[array_rand($data)]; echo $result;file_get_contents 函数实现代码<?php // 存储数据的文件 $filename = 'data.dat'; // 指定页面编码 header('Content-type: text/html; charset=utf-8'); if(!file_exists($filename)) { die($filename . ' 数据文件不存在'); } // 读取整个数据文件 $data = file_get_contents($filename); // 按换行符分割成数组 $data = explode(PHP_EOL, $data); // 随机获取一行索引 $result = $data[array_rand($data)]; // 去除多余的换行符(保险起见) $result = str_replace(array("\r","\n","\r\n"), '', $result); echo $result;如何在静态页面中引用上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个api,将最后那一行的 echo $result; 换成:echo 'document.write("'.htmlspecialchars($result).'");';然后在需要的位置进行调用即可。代码:<script src="http://你的网址/api.php"></script>
2019年12月10日
274 阅读
0 评论
0 点赞
1
...
80
81
82
...
102