解决 PHP 使用 header 函数 location 跳转的一个导致502的坑
情景是自己写了一个短网址跳转,网址内容的长度大约是3k-5k字符左右,nginx 会偶发性的502,查 log 发现, [error] 1704#1704: *115579 upstream sent too big header while reading response header from upstream 因为是多层缩短,nginx 做了一次 rewrite,然后 php 直接用 header 返回 location,所以会导致在返回的最外层的 cgi (处理)的时候导致 http header 长于默认的4k. 解决方法 http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffer_size 增大 fastcgi_buffer_size。值得一提需要小心的是,这项配置依赖于 fastcgi_buffers,前者不能小于后者。
善良单纯的小阿板
建站资源
23, 4, 2018 庆丰六年
提前放一枚五四评优运维的flag
五四评优的运维,面临的最直接的问题在于大并发场景下php-fpm的进程不足,导致请求被挂起在nginx端,然后最终挂掉。在之前的 php5.6 时代,Rex采取的是使用静态的child processes,也就是设置 `pm = static`,然后给`pm.max_children`一个很大的值,这样在内存中就始终跑着无数个PHP,做到不至于阻塞。 这样的问题在于,给了PHP足够多的进程之后,分配给数据库的内存就很有限(毕竟小土豆只有12G内存),所以在历年高峰,还是会挂掉的,往往都是挂掉的时候伴随内存爆掉,还得手动restart。 当然,PHP5 的性能本身就要背很大的过;其次 laravel 臃肿的身材也得背很大的锅。因为没人愿意重写系统,只能在其他方向找突破。 首先被动刀的自然是 PHP,我们“与时俱进”地把 php 升级到了 remi 源上的 7.1 版本,没错,opcache就是这么的诱人,也没让我们失望。php 版本切换对于 laravel5.1 最大点问题就是mcrypt加密件,这个 Rex 同志已经给我们解决了,放链接https://blog.rexskz.info/laravel-and-php-version-trap.html。然后我们把子进程改为 pm = dynamic,进行动态调配。我很随意的这么设置 pm.max_children = 800 pm.start_servers = 80 pm.min_spare_servers = 70 pm.max_spare_servers = 120 pm.process_idle_timeout = 10s pm.max_requests = 200 不在这里再用中文讲每个参数的意义了,只讲讲最有意思的 pm.max_requests。 ; The number of requests each child process should execute before respawning. ; This can be useful to work around memory leaks in 3rd party libraries. For ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_R
善良单纯的小阿板
校园趣事
11, 4, 2018 庆丰六年
NUSTCTF2018 WriteUp
## 签到 http://120.79.189.18/ 签到题描述:bottom right corner and say hello to her TlVTVHtBcnQxRmlDMWFsX0lkaTB0fQ== > NUST{Art1FiC1al_Idi0t} (嘤嘤嘤 大师傅真可爱,想**** QRCODE 二维码看起来不对,emmm,直接ps里反色 得到 03F30D0AC9F7AB5A630000000000000000010000004000000073140000006400008400005A00006500008300000164010053280200000063000000000300000014000000430000007372000000640100640200640300640400640500640600640700640800640800640900640A00640B00640C00640D00640E00640A00640F006410006411006412006714007D00006413007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100714F00577C010047486400005328140000004E6941000000694800000069460000006947000000697B000000694A00000069340000006961000000694E000000695F0000006953000000696800000069700000006958000000695A0000006933000000693F000000697D00000074000000002801000000740300000063687228030000007406000000737472696E677404000000666C6167740100000069280000000028000000007307000000666C61672E7079520300000001000000733000000000020301030103010301030103010301030103010301030103010301030
善良单纯的小阿板
闲的没事CTF
18, 3, 2018 庆丰六年
Writeup - Rex的狗(zhe)年(xue)寻宝!
## 第一题 > https://red-packet.rexskz.info/2018/?s=the_first_level 年初一刚醒,躺着腻歪了一会就看到了 Rex 开张了今年的红包寻宝,一个激灵趴下来开日。 第一题的话 const encrypted = 'gard dna kcilc'; const decrypted = reverse(encrypted); const { id } = new ComicCollection('xkcd').findComicByName(decrypted); const delta = 0x3E7986; const t = '0' + (delta + id * id); if (/^\d{8}$/.test(t)) { // 答案就是 ans 的值 const ans = t + '_reversed'; } else { console.log('error!'); } emmmmm 据说 ComicCollection 是ES9当中的标准,现在还在草案阶段,这可怎么办呢,一直在思考,xkcd 是个什么哲学的玩意呢?输入法也拼不出来,拖拽搜索,wikipedia 得到结果 https://zh.wikipedia.org/zh-cn/Xkcd 果真还是哲学啊。看到密文gard dna kcilc,我的第一反应是做了所有的凯撒位移,但是没有结果,然后 wikipedia 有这么一句 > 第1110幅漫画颠覆了我们平常对漫画的理解——这个世界很大(165,888 x 79,872 像素),创造出了人类历史上尺寸最大的漫画。 https://xkcd.com/1110/ 跟进去一看,漫画标题是 Click and Drag,OK应该就是他了。则 id = 1110,console中可以直接解得 > t = 05326442 但是我输进支付宝的时候,竟然显示失败?去年我就是这个样子....今年以为是大师傅都是光速日题的,已经被抢光了..... 以 05326442_reversed 替换 url 当中的 S,进入下一题。 第二题 > https://red-packet.rexskz.info/2018/?s=05326442_reversed const e
善良单纯的小阿板
未分类
16, 2, 2018 庆丰五年
强制性ASLR导致cygwin资源不可用错误
今天在打开 gitbash 的时候,突然出现了资源不可用错误。 Error: Could not fork child process: Resource temporarily unavailable (-1). DLL rebasing may be required; see 'rebaseall / rebase --help'. 第一反应是昨天收到的 kb4058258 推送,或者是 meltdown 的补丁之类的原因(我二月份刚刚收到巨硬的推送...),想来自己也没有什么可疑的操作,Google 之,发现github issues,大多数的回答是很俗套的,但是我敏感的看到了 ASLR 字眼。 当时在更新的时候,我就胡乱的找到了这里。windows defender安全中心 -> 应用和浏览器控制 -> Exploit Protection设置 看到了大师傅曾经讲过的 ASLR,隐隐约约想起这似乎是已经很牛X的安全技术,强制性♂ASLR 并没有默认打开,心想怕不是巨硬怕不是留了一个后手,就勾选了强制打开。之后就出现了资源不可用的情况。不单单是 cygwin 有一些使用ms运行库的也会出现资源异常。看来这个技术不开是有道理的.... 关闭 强制ASLR 即可解决问题
善良单纯的小阿板
闲的没事
11, 2, 2018 庆丰五年
打乒乓球的下场
从游泳馆出来之后,想到周楚楚下学期体育课选了乒乓球,就构想出一副和她大战三百回合的场景。并不难构想,毕竟在我的巅峰时期,每次打球之前,打完球,没抢到打球的台子,没打过别人尿遁而走的时候,都一次又一次的构思过。左一个又一个,近一个远一个,十几个来回之后,终于赢下了赛点球。 其实大有可能把这种剧本演起来的,但是我的对手,通常不是太厉害 就是太菜。总是三两个就草草完事,然后跑几公里去捡球。自己捡,虽说弯腰累的慌,但是还好;对方捡球的时候,自己一个人站在那里,球打出去那么远,怪尴尬的,手不知道放哪,只能甩甩拍子扇风,等对面回来,然后呵呵寒暄几句,开始下一轮捡球。 但是即使你只是捡球,还是不被班主任允许的。不光高三,在高中呢,地球和乒乓球,是不能同时出现在班主任眼中的。每天每周都得偷偷的,挤出时间学习,然后挤学习的时间去打球。那时候也真是刻苦,饭都可以不吃,觉都可以不睡。 班主任的理由,无非是耽误学习,耽误考试,耽误考学。当时觉得,他这个屁放的,毫无道理啊。但是今天来反观,他的结果预测还是很准确的。当然,预测只是因果论武器罢了。我还是可以嘴硬的认为,不是因为打球而学习不好,而是喜欢打球的自由的人,那些因为规定不让打球而去打球,甚至从零开始打球的人,自然不属于学习的这条产业链。 结果列举起来确实有点可悲哦,那一批自诩中国新一代球员的人,一中乒乓球的黄金一代,打的最多的里边,最好的也就是南航南邮了,少一点的最好的吉大华科;大部分人,楼下的楼上的楼下下的,济南青岛小学校就算好的了,很多人一毕业就就业。当然这一层面比我们这些以后一毕业就要失业的好的多。 辛辛苦苦学了一个学期,虽然说没有像学霸一样,记很多笔记,但是每天都早去做到第一排,也更不像天天睡觉不去上课的舍友,但是学习成绩还是不好,实在是令人郁闷,就像打球一样,总是不能,把想象的戏码演出来,到头还是在上游供应商和消费者的枷锁当中做作演戏。啥时候能跳出来,演好自己擅长的戏啊。
善良单纯的小阿板
所思所想
15, 1, 2018 庆丰五年
气味
午饭的时间到了,办公室里出现了那种中国菜当中油烟特有的香的刺鼻的气味。比起外卖那种冷香,这个闻起来更像是上一辈人炒菜炝锅滋滋啦啦往葱姜蒜油里倒进酱油时,迸出的那些烫人的油星。倒不是说这味道不好,而是味道里更多的是嫉妒的滋味。 高中时经常闻到的这种味道,实在是忘不掉。几乎是稳稳的每个不回家的周六的中午和回家回来的周日中午,每个宿舍中的每个人都会拿出至少一个的大铁饭桶。从第一丝香气散出来开始,噗噗噗,其它的盖子也就像指数爆炸一样展开了。有的人住的离洗手间远,洗手上厕所又不快,就要在路过大半层宿舍的时候,眼巴巴地看着别人吃着嚷着。吃的开的,和别人感情好的,串个隔壁宿舍的门乱吃一通,更神通广大的,还能串个楼层,或者去找女生一块吃。 之所以说是闻起来,不是看起来,正是因为我从来都没有饭桶,可能因为我不是饭桶的缘故吧。我带来的饭,不是包装的熟食,就是简单的一张饼,几块肉几块鸡装在方便袋里。讲道理呢,水平是不比那些饭桶低的,口味更也不差,但是总觉得没有那么高级,也觉得别人似乎有点看不起饿这种方便袋。 问题又来了,我为什么知道口味不比别人差呢?难道是我神通广大?脸皮厚一点就好了哦,上层建筑的饭桶看不起贫下中农的爱心便当,干脆我就拿出交换食物的诚意,他们却看不起,不太吃我的,也就成了阶级斗争之间,永远不亏本的买卖。 左左右右吃一圈,我自带的一人份竟然还能剩下好多。 越到高考,饭桶里的饭就越丰盛,分量就越大,气味也就越浓,闻起来自然也就越重了。高考特供饭桶就像高考本身一样,让人越来越喘不上气,它从你身上的各个孔洞钻入,目标共同指向你的大脑。 规定的吃饭时间是很短暂的,十二点下自习,35分就要上床睡觉了呢。饭桶们不但幸福结束了,忍受着身体被掏空的痛苦,还要被清洗一番,这对于饭桶和主人来说,都是一件痛苦的事情。夏天气温高,油尤其油,还有淡淡的发酵的味道,着实难闻不想触碰;冬天水辣么冷,又不舍得用辛辛苦苦抗回来的开水,没有妈妈们的大厚乳胶手套,只能胡乱挤点洗洁精,灌进冷到化不开洗洁精的水,看着窗外的草地与黄牛来分散着手的刺痛,咕咕咚咚哗转一转倒掉水,干不干净就是下一次回家再装饭的时候的事情了,反正那是两三个周之后了。 总是感觉,他们每个人是不是都买了超多的饭桶,一次拿俩,有时亲妈还来送,这就需要四个了,怕不是厨房里要摆满?还是亲妈在学校工作来的舒服。谁不想拥有一个@飞宇那样的亲
善良单纯的小阿板
心情点滴
14, 1, 2018 庆丰五年
2018的故事
今天心情其实是十分的不好的,既然本来也没有什么技术可以写,那么干脆就放开要讲技术的包袱。 --写在前边 年初开始,开始尝试在复杂的人际关系中摆脱出来。但是时间留下的影响,确实很难短时间地消除,还是会下意识的去参与一些利益的团体。直到暑假之前,其实都不能完全的理清和高中之间的关系。好在随着最后一批熟识我的人毕业进入大学,最后一批听过我的人进入高三,终于可以差不多的释怀,可以不抱有得失和批判的心态去看自己的高中了。 17年是我参加各种比赛的元年。我对于大学生活之中的比赛,还是最为向往的,毕竟初高都在小地方,没能接触到那么多方面多深度的东西。最感谢的是大白,能够带我去百家湖打线下,可以说是帮我打开了这扇门,也算是混了几个奖的。但是渐渐的也明白了,为了得奖而得奖,也是很空虚的。大多数的比赛,实际上是学不到啥东西的,真正的很大佬的人也不会参加我参加的偏低端偏水的比赛。 找到了第一份比较正式的工作。全凭身边的人的推荐,一个只是表面不错,实际上没啥技术内涵的人,拿到了第一份薪水。虽然待的时间不长,也是因为利益斗争离职,但是还是不是很难过的。确实发现自己的能力不够,只能混混混,任务完成度是非常低的,要论离职我肯定应该是第一个滚蛋的。短期内我应该也不会找全职了,还需要多学点东西。而且时间这个东西,能换钱不假,但是大学的时间还是比较值钱的,赚这点实习的钱,确实不是那么的赚。 感情方面,在大学里碰到了一个喜欢我的人。看起来实际上不错,实质上还是很坎坷的。大学的感情的不确定程度真的是太高,目标也不明确——恍惚哦,而且没有人心里有数,到底能走到哪一步。在摸索着,今天已经是第50天了。记得在高中的时候,小智和王香慧一百天的时候,王香慧找我们来写祝福。当时我就想,我什么时候能够100天呢。说实话心里没底。 电路的补考及格了,运气是真的好,其它各门的成绩也并不好,已经成为一个不爱学习的人了。也不知道自己能不能顺利的毕业,也不知道,如果不在办公室呆着了,我能不能天天住在自习室。 心里数到了这一段,还是没有想到自己学了什么新技术。这一年的精神生活,确实是非常的贫乏的。前端只学了皮毛,后端原地踏步,还是很慌的,特别是在赛宁离职之后,也不知道能够学会什么才能谋生。摆在面前的主要的两条路,安全或者是开发,讲道理哪个我都不能做到顶尖,不光是一时半会。 明年的目标啊,还是不定了,去年好像也没有定(
善良单纯的小阿板
未分类
31, 12, 2017 庆丰五年
昨天是南航校庆
是要焊了一天板子缘故么,今年应该是最热闹的校庆,也是吵了我两天是校庆节目表演的日子,却只在晚上这和时候刷动态才了解到热闹景象,还越刷约恶心。 移动互联社交到底带给了我们什么?确实我们多了去刷的东西,kill了很多的free time,但是就像是有一部电影里讲的一样,为了点赞而点赞,为了被点赞而发布。想起今天为了帮人而帮人,为了得到体验而帮人,确实是不单纯的。没有这么发达的社交手段,我可能只会错过所有的校庆项目,平平静静地明天去玩一波,吃点好的,完全不用像现在这样,起伏这么大。 开心的很快的,丧也是很快的。 像我在想是不是应该继续信安这条路一样,也在想应不应该继续做互联网。一个所谓好的产品,到底是害人还是帮人,真的推动了社会的进步么? 做产品的心理,和参加校庆马拉松的、校庆表演的性质是差不多的,参与之中,自然其乐无穷,即使不能融入,也假装融入去寻得乐子。听可悲的,为了别人的尝试,也为了自己的不能寻得乐子。
善良单纯的小阿板
未分类
14, 10, 2017 庆丰五年
致敬那些走在被承认路上的人们
最近[rvfu98](https://github.com/rvfu98)小朋友的故事,在不大的圈子里,激起了不小的风波。很多人都在讨论着这个凭空出现的巨佬——当然讨论的人就不止圈内了。 在他的github首页,最吸引我不是开源了小程序,而是那句又一个脱离了高级兴趣的人。讲道理,虽然不如我的善良。单纯。可撩。那么真实真诚,敢于直接地写出这种会被指俗套的话也是很不落俗套的。 其次吸引我的,还不是他的代码,是他博客里给写给一冯姓学姐的那封回复。作为一个同龄人,看到这种文章就很想站队,站到人们普遍觉得弱势的一方,毕竟学姐也有做的不对的地方,根据他的说法来讲的话。这件事情,属于那种我一辈子都没法接近问题核心的人,只能作为一个旁观者,进行者些许带点恶意的揣测,揣测揣测者,脑中就渐渐地仿佛出现了一个有血有肉的人——好吧就是照片动起来的感觉,像极了自己的小时候。那时候刚刚会写代码,心中执念想着能写出什么好东西来,让大家都用上,都能认识我,都能称赞我,也就写了那么一些浮夸的东西——每一页都要写上自己的名字,每个图都要打上自己的logo,退出的时候都要搞个关于,告诉你“这是我写得东西,牛B吧?”。我没有赶上一个校难的好时候罢了。 再再其次,还不是代码,而是他的昵称,rovo89是我很敬佩的一个开发者,伟大之处不仅仅是因为他开发了xposed,而是他兼容并包的精神,他的工作毫无疑问推动了整个安卓项目的发展,也丰富了至少..我的精神生活和红包。他的昵称和rovo这么像,还是有那么点巧合的,毕竟在我心中,rovo也是一个飘逸潇洒的形象。 代码。小伙子最值得称赞的地方,是他可以说虽然不是第一个动手写类似东西的,却是第一个成功release的。这也是前辈们看他的眼神当中,最有意思的一点。前辈仿佛再说,呀,这个后生不拖一拖的么? 的的确确,有些事情,老骨头是做不了的,只有新鲜的血液,因为其渴望破土而出被承认,才有这样的生产动力。抛开代码是否优雅完善高效不谈,这一套让我来写,我也要调上两天,中间再吃吃喝喝忙点别的,可能要拖到一个周。我相信他是全新全意写的,为了证明自己,可能也为了向冯学姐证明什么吧。 如果有人问我说,当代大学生还存在80年代那种自由反叛的精神么?之前我会说,不多了,我都没的差不多了。但是今后我可能就要和他讲一个小伙子的故事了。一堆代码,怎么就上升到了反叛? 现在的每个
善良单纯的小阿板
未分类
9, 10, 2017 庆丰五年