!![]等于true,大家可以打开F12-console-输入:!![]。
解析(+!![]+[])
[]是一个array(数组),!在JavaScript中取反的意思。
!![]大概翻译过来就是取反二次后他还是true!
那么+!![]中的+在JavaScript中是自增的意思,true一般都是正数那么此时true不就是1了嘛?
那么继续解析[]他本来就是没值的,他就是一个空数组;在JavaScript中默认是一个空字符串
大家可以把他当一个空的字符串如果这个时候加1不就是等于1吗了?
PS:这里的加1是前面的+!![]的1来加这个[]空字符串所以他才等于1!
大概的意思就是:1+0=1
懂了吧?那么我们来解析难一点的+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]))
(!+[]+!![]+!![]+[])大概意思就是:(true+true+true+0);
还不懂?我给你转换成小学数学行吗?大概意思就是:(1+1+1+0)猜猜等于几?
复制到浏览器的Console中他是等于一个文本型!注意浏览器中的这个3是有双引号懂了吧?
继续解析(!+[]+!![]+!![])
大概意思就是:(true+true+true)猜猜他等于几?
在浏览器中的Console上显示他是整数型!
那么得出((true+true+true+0)+(true+true+true))这个里面一个是整数型一个文本型有JavaScript基础都知道他是什么~那就是文本型的"33"不相信?你可以手动在浏览器中输入(!+[]+!![]+!![]+[])+(!+[]+!![]+!![])就知道啦~
那么前面的+和第一个()括号是什么呢?他们相当于一个转换器就好像易语言中的到整数()
好了,关于cloudflare中的五秒防护中的jschl_answer值正确的解析出来啦~~~~
PS:另外说一句他这个jschl_answer值中的算法是随机,大家看我的源码中就知道啦~
PS:我把他们拼接起来然后计算值,也是非常的简单啦٩(๑>◡<๑)۶
2021-11-24 15:20:58
182KB
网络相关源码
1