Luuljh的博客

I've been down the darkest alleys saw the dark side of the moon to get to you
Home » 前后端

用JS+AST写数学表达式解析器

用JS+AST写数学表达式解析器
407
0
在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于 if-condition-then ...

突破 ByetHost 的浏览器检查机制

访问byethost的空间会出现?i=1等奇怪的参数,应该是用来拦截非浏览器实现的访问或者做统计的。若要使用crontab定时抓取其链接是无法正常抓取的,需要绕过去。这里用PHP先get到要运算的代码(如下),然后输出到浏览器,再让浏览器返回运行好的结果即可。当然分析好代码后也可以直接用PHP算出来,这里主要考虑到byethost生成的cookie有效期有几十年那么长,分析代码太浪费时间了。<html& ...

PHP 生成最接近真随机数的图像

PHP 生成最接近真随机数的图像
555
0
论如何丧心病狂地用php生成比较接近真随机数的图像,而且不使用mt_rand()函数结果图:使用rand():88kB随机数据时候:2kB随机数据时候:看起来基本没什么区别,但是用起来可能就不一样了,毕竟还是和伪随机数差不多,效率还没有mt_rand()高。说明:新建一个rand.txt,然后从random.org里面生成随机数,去掉换行符号和空格符号并导入进去,最后执行脚本即可。也可以试试手打 :)直接上源 ...

PHP 十进制转任意进制

枚举密码的时候YY出来的,因为生成密码需要像一次函数一样每一个自变量对于一个因变量,若是生成6位的密码本,光数字和小写字母就有36^6种可能、(36^6)*6个密码位,而且每个密码位占用1 Byte,则约为12.16 GB,所以很自然就想到了用10进制转换成K进制,即可避免巨型的字典,也方便二次执行脚本。缺点的话嘛,需要计算一下$n的取值范围才能生成指定位数的密码。function cpsw($n){ ...

Github 静态博客 JBlog 更新

Github 静态博客 JBlog 更新
868
5
18-08-24无需静态博客生成器,只需Fork一下,瞬间拥有属于你的静态博客。其实是依赖于github的API,通过API获取文件内容,然后再输出。18-12-30四个月过去,给JBlog增加了对文件夹的支持,并且重新装修了一遍。直接查看:https://1443691826.github.io/JBlog/Github:https://github.com/1443691826/JBlog

PHP 单文件 Proxy FQ

想到什么就写什么,有点杂乱。水平一点都没上升,在学校压力山大啊,正则学到多少忘多少。项目地址:https://github.com/foxnes/gadget/tree/master/PHPproxy说明:先找到OPTIONS,选好UA其他杂项:half_proxy:半代理(不代理图片等等资源)RM_script:移除脚本(JS)Avoid_redirect:防止重定向(禁止跳出页面)(有BUG尽量不选)Re ...

JQ 点击元素以外位置关闭元素

JQ 点击元素以外位置关闭元素
630
2
方法一:给document绑定click事件,判断点击的时候是否点到了el元素,判断没点到就关闭。$(document).bind("click", function (e) { if($(e.target).closest("el").length <= 0){ $("el").hide(); } });方法二 ...
  Life is fantastic
More
© 2021 Luuljh的博客版权所有.
驱动Typecho - Hufman主题