Apicon 背后都用到的哪些技术?

Apicon 的来源 大概是高二的时候,因为 WordPress 的关系,我接触到了 Web API。进而了解到了 Ajax、RESTful 等概念。当时百度有一个 API Store,上面收录了大大小小各种各样的 API。从天气查询到语音识别,免费并配有详细文档以及不同语言的使用示例。 当时这对我来说真的是个宝库。与此同时,我在 GitHub 上也找到了个人整理的 QQ 音乐、网易云音乐、bil

『自闭 PHP 内核』 vol1. 来写一个 PHP 扩展吧~

之前学 C 语言的目标,就是想有一天能去看 PHP 的底层源码。一直对 PHP 挺惊讶的,她是一个很容易上手的语言,但是却是使用 C 语言编写的。C 语言原生能实现的功能,所含的库就不多语法残废,又十分地接近系统底层;很难想象像 PHP 这么一个语法宽松随便的语言,是怎样用 C 实现的。 之前在协会分享会时,Hammer 学长曾带着我们去看了 PHP 源码中关于弱类型比较的部分,还用 gdb 一步

总结一下最近 beego 开发遇到的坑

最近一直在写 Apicon 的主站,目前虽然还有很多功能没有写完,不过先配好了 Drone 直接上线了。 因为我的前端实在是太菜了,Vue 写到后面暴露出了很多问题;索性就放弃了之前定下的前后端分离,直接用 beego 开始写 MVC 了。 推翻之前所做的,确实需要一定勇气。不过就目前的情况看来,我还是挺满意这个决定的。 期间遇到了不少问题以及坑,这里总结一下吧。 自定义错误页 自定义诸如 404

暑假开始了啊……

然而并不是什么好的开端 暑假开始了呀。明天早上 10 点的车回去。 已经迫不及待地想见到爸妈了。 又是两个月的长假,去年寒假因为期末线代挂了,看了整整一个寒假的线代,最后补考还好过了。 很可惜,这学期又挂科了。又得在假期准备开学的补考。 嘛,心里很不是滋味啊。 不是想去怪谁或为自己争辩些什么,都十九岁的人了,再一直纠结这些有的没的未免有些不合适了。 既然已成事实,还是得自己去弥补啊。之前看了部挺致

聊聊 PHP ob_start() 在开发中的应用

先从安全聊起 上周六协会 AWD,其中的 web1 中,有一个ob_start()的后门,具体代码是这样的: @ob_start(base64_decode(‘c3lzdGVt’)); echo “$_GET[persistent]”; @ob_end_flush(); 参照 PHP 的文档,我们其实可以知道这个后门的原理。 c3lzdGVt这一段,base64_decode出来的即为system

Vidar-Team 内部 AWD 线下赛总结

今天六一,协会举办了大一第一次线下 AWD。 很开心最后我们组能获得第一。虽然上午被疯狂 Check Down 到自闭,但下午全靠 Moesang 大佬弹了四五个 Shell 疯狂cat /flag,同时 Y 也把 Pwn 给修好了。一下午就没怎么 Down 过,除了我中途修坏了一道 web 才 Down 了一轮。(是我太菜拖大家后腿了嘤嘤嘤 这也是我第一次打 AWD 啊。 这几天都在给 Lian

拉取、编译、部署,无人机升空!

编译型语言,就需要自动部署 我记得上学期刚注册助手 Gita 时,我还打趣地问过部长,助手什么时候上 CI / CD? 当时部长说快了,这学期就上。 现在助手可以说每个项目完成后,都会使用 Drone 实现持续交付 / 持续集成。 对于前端来说,因为助手主要是用 Vue 做单页应用,推送代码到 Gitea 上后,Drone 会使用 Vue CLI 对项目进行编译,之后将编译好的前端静态文件放进一个

记录一道把我整的要死要活的 SQL 布尔盲注题

Jarvis OJ 启动!! 五一假期已经只剩一天了啊。真的快。 今天下午写 Go 时,室友在做南邮 CTF 上的 SQL 注入。那上面的两道 SQL 注入倒是挺基础的。但突然激起了我的兴趣 —— 想做做 SQL 注入了。 到 Jarvis OJ 上翻了下,还真有一道 ISCC 2016 年的 SQL 注入。原以为 ISCC 的难度都不大的,结果最后居然做了一个多小时……还

从一个项目看 beego 的 MVC

bilibili 干杯!🍻 最近 b 站源码泄露的事情闹得沸沸扬扬的,每天都有不同的瓜。昨天 GitHub 放出了 b 站写的 DMCA takedown 邮件。今天大家就在吐槽 b 站的小学级别英语了。 嘛,撇开这些事情不谈,b 站这次的源码泄露,确实让很多人开始注意到了 Golang 这门语言。一时间不少人嚷嚷着说要开始学习 Golang,就从 b 站源码入手什么的。 玩笑归玩笑,但 Gola

《高性能 PHP7》笔记

类型声明 PHP 作为一个弱类型的语言,加入类型声明,真是一件大好事啊!这样确实能够减少很多 bug 的产生,今后也要试着养成写类型声明的习惯。 形参类型声明 function foo(int $num){ echo($num); } // foo(123); -> 123 // foo(‘123’); -> 123 // foo(‘asd’); -> PHP Warning 这

抓了只水蓝色的地鼠玩玩

第一次听说 Golang,还是在上学期刚加入杭电助手的时候。当时跟大家还不熟,我在群里还挺腼腆的。当时部长开了个让我记忆犹新的玩笑: 我们或许可以期待一下 Google 推出 ogle 语言。 真香 刚开始我其实一直对 Golang 无感,和部长半开玩笑半认真地吹 PHP,觉得 Go 能做的,PHP 其实也能做到。只是具体的实现方式不同罢了。 但是前阵子在折腾 PHP 自动部署时,有过写一个类似

反思一下近期的自己

昨天和同学去协会坐了一下午,打算去和写后端的大佬配合修 bug 的。 期间听到学长们的对话,司大哥看我之前读过 CodeIgniter 的源码,便问我 CodeIgniter 为什么比 ThinkPHP 更安全。 唔……这还真的涉及到我的知识盲区了。当时支支吾吾地说不出话。 感觉开学以来没那么有动力了,是因为在肝项目没去学新的东西了?我不知道。 感觉这样下是肯定不行的。前方

我在 Cube 中加入了 Google Authenticator 登录验证

真是巧合,我居然又是造轮子 在高三上学期在宿舍洗澡的时候,我突然脑洞大开,想到了一个生成六位随机数字进行双重验证的东西。 到周末回家的时候花时间写了出来: OneCode https://github.com/wuhan005/OneCode 你也可以看看我当时介绍她时所写的文章。 当时还给她设计了个 Logo 来着,回想起来不禁觉得自己当时脑洞也真是挺大的。 但脑洞归脑洞,这个应用也像我的一大堆