php-fpm 顺滑的启动 重启 终止操作技术
很多时候,我们被 service, /etc/init.d/ 洗脑了,觉得来个方便的操作就应该是那样,想起当年老师讲 signal 的时候,觉得排不上用场,通信一般都是 socket 的啊,有谁会用信号来进行进程的通信呢?这不,signal 肯定是有优点的,我们习惯了 kill 掉一个命令,却总是忘记了使用信号来的更加优雅。
启动 php-fpm
/usr/local/php/sbin/php-fpm
php 5.3.3 以后的 php-fpm 不再支持 php-fpm 以前具有的 php-fpm (start|stop|reload) 等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制。
代码分享技术
好东西要分享:
$content = file_get_contents('1615442217.txt'); $t = base64_decode($content); $a = explode("\n", $t); $store = array(); foreach ($a as $k => $v){ $v = trim($v); if (!$v) { continue; } $v = preg_replace('/ssr:\/\//i', '', $v); $v = str_replace('-', '+', $v); $v = str_replace('_', '/', $v); $tt = base64_decode($v); $aa = explode('/?', $tt); $store[$k]['x'] = explode(':', $aa[0]); parse_str($aa[1], $store[$k]['y']); $store[$k]['x'][5] = base64_decode($store[$k]['x'][5]); foreach ($store[$k]['y'] as &$n) { $n = str_replace(array('-', '_'), array('+', '/'), $n); $n = base64_decode($n); } } $long_str = ''; foreach ($store as $k => $v) { if ($k < 2) { continue; } $v['x'][5] = base64_encode($v['x'][5]); $v['x'][5] = str_replace(array('+', '/'), array('-', '_'), $v['x'][5]); $str = implode(':', $v['x']); foreach ($v['y'] as $a=>$b) { if ($a == 'remarks') { $v['y'][$a] = str_replace('Free-', '', $v['y'][$a]); $v['y'][$a] = base64_encode($v['y'][$a]); $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]); continue; } if ($a == 'group') { $v['y'][$a] = 'LinCloud'; $v['y'][$a] = base64_encode($v['y'][$a]); $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]); continue; } if ($a == 'protoparam') { $v['y'][$a] = base64_encode($v['y'][$a]); $v['y'][$a] = str_replace(array('+', '/', '='), array('-', '_', ''), $v['y'][$a]); continue; } $v['y'][$a] = ''; } $str .= '/?'.http_build_query($v['y']); //$str .= '/?'.implode(':', $v['y']); $str = 'ssr://'.str_replace(array('+', '/'), array('-', '_'), base64_encode($str))."\n"; $long_str .= $str; } echo str_replace(array('+', '/'), array('-', '_'), base64_encode($long_str));
新版本 Chrome 浏览器 POST 请求不携带 Cookie 问题技术
真的很愤怒,真的,为什么很多人都转型做 APP 了,就是这帮浏览器厂商和 WEB 协议的设定者没有节操所致,这个东西能随便改吗?真的是傻逼行为,它以为自己这样随便改可以带来安全,殊不知自己啥都不懂,这样胡乱改规则的都是作死的节奏,一看就是不懂技术的,一个不懂技术,不懂开发者的上级软件乱来,真的让人想狂揍他一顿,Chrome 可以去死了。
我最近发现一些功能出问题了,然后也实在没有时间去管这个事情,对 Chrome 的体验真的很讨厌,老是动不动弹出一个东西出来,这个 Bug 找了一段时间,最后发现是 POST 数据没有传递 Cookie 所致。这个胡乱更改规则的行为真的恼人,估计市面上的绝大多数网站都被它坑了,Chrome 总是打着安全的旗号乱来,其实你完全不用管安全问题,安全问题人家自己会解决。之前对于浏览器老是动不动就胡乱提示不安全的问题也实在让人反感,但这个是正确的。这次的规则修改真的大错特错了,让无数开发者讨厌至极。
GoogleBot 抓取大量的 ...妹子.htm 是怎么回事技术
GoogleBot 一直是个很奇怪的东西,我一直觉得其技术太差,要么就是不怎么抓取,要么就是疯狂抓取,要么就是无中生有乱抓取。
最近发现 GoogleBot 又没什么动静了,于是看了下日志,发现大量的抓取 地名 或者 某某修饰 或者 KTV 等 加上 XX 妹纸 加上 随机字符.htm
...喃喃妹子...OSd.htm ...呗呗妹子...OSd.htm ...秀秀妹子...OSd.htm
比如: /search/同江KTV妹子(11.9115.62VX)喃喃妹子...Yb0.htm/ /search/抚远县KTV妹子(76.3622.53VX)呗呗妹子...ypq.htm/ /search/营口兼职女桑拿(51.3861.18VX)喃喃妹子...OaW.htm/ /search/玉溪哪里有姑娘全套(6378.7939VX)喃喃妹子...OSd.htm/ /search/新余技师妹子特殊服务(63.9775.39VX)喃喃妹子...zsW.htm/ /search/黑河爱辉区宾馆妹子(6378.7939VX)喃喃妹子...329.htm/ /search/西山版纳学生新茶(58.1977.53VX)呗呗妹子...pfW.htm/ /search/三门峡护士清吧服务(66.1793.73VX)喃喃妹子...Mnk.htm/ /search/长沙岳麓区找技师全套(88.2982.13VX)呗呗妹子...Nwa.htm/ ... 实在太多... 基本就是所有的地名,加上所有的动作,加上所有的职业,加上所有的服务,加上所有风格的妹子,加上随机字符.htm。什么护士什么的当然也是有的。
需要注意的几种空格 194 160技术
程序中经常需要跟空格打交道,一般情况下我们熟知的几种空格并不是什么大问题,但是有一种 utf-8 编码的空格,大家一定比较陌生。一起来看看吧!
这种东西很难用文字描述清楚,很多人发生了问题,根本不知道怎么搜索,这里加上几个关键词,空格,32;227, 128, 128;194,160。空格 ascii 编码
第一个 ascii 空格
编码 32,对应字符 ' '
第二个 中文全角空格
编码 227 128 128,对应字符 ' '
第三个 utf-8 空格
编码 194 160,对应字符 ' '
综上,第三个最诡异了,网页没法正确输出。
第四种空格 三字节
编码 226 128 137, 对应字符 ' ' // 网页不好输出