duangsuse::Echo
719 subscribers
4.28K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#China #GitHub #Low 国内被驱逐歧视的「低端人口」对世界的认识就是这样,可惜了。 (被转发台不代表本频道立场)

补充:其实是钓鱼。 真爱国怎么会用像书单一样的排比句🌝
很难不资词👍

By:匿名投稿
#Github #九评早该封
#js #code [doge] 哈!手机上一次就写对了
const swap=(k,a,b)=>{ let va=a[k]; a[k]=b[k]; b[k]=va; },
hook=(o,op_tab)=>{
let old={};
for (let k in op_tab) { swap(k, old, o); let f=op_tab[k]; o[k]=function hooked(...args) {args.push(old); return f.apply(this, args)}; }
let attrs = Object.keys(op_tab);
function undo() { this.attrs.forEach(k => swap(k, old, o)); }
return {attrs, undo};
}

function add(a,b) {return a+b}
h=hook(window, {add: (a,b,old)=>{console.log(a);return old.add(a,b)}})

不过有个问题, 不能同时兼容 prototype ,没 bound
好耶!是元编程

const
swap=(k,a,b)=>{ let va=a[k]; a[k]=b[k]; b[k]=va; },
boundCopy=(!!Proxy)? (o,ks)=>self=>new Proxy({}, {get: (o1,k)=>o[k].bind(self)}) : (o,ks)=>self=>{ let bound={}; for (let k of ks) Object.defineProperty(bound, k, {get: ()=>o[k].bind(self)}); return bound; },
hook=(o,op_tab)=>{
let old={}, attrs = Object.keys(op_tab);
for (let k of attrs) { swap(k, old, o); let f=op_tab[k]; o[k]=function hooked(...args) {args.push(boundCopy(old, attrs)); return f.apply(this, args)}; }
function undo() { this.attrs.forEach(k => swap(k, old, o)); }
return {attrs, undo};
}


orig(this).fn 这样用:
let hooky = {
log(...ho) { hookAll(...ho, (...args,orig)=>{ console.log(args); let res=orig(this)[ho[1]](...args); console.log(res); return res; }); },
breakIf(p, ...ho) {},
stopIf(p, ...ho) {},
onValues(op, ...ho) {},
insts: {},
saveInstances(...ho) {}
}


妈耶…… 看来还是包装下比较好😓 这个代码不可能短

#GitHub 上找了半天最终发现 https://github.com/bnoguchi/hooks-jshttps://github.com/buddyspike/easy-intercept 是可以用的,另外还有三四个标准研究性的 intercept 和一大堆只能针对 XHR API 的🌚👍

https://github.com/search?p=4&q=JS+intercept&type=Repositories
你前端还是你前端,复用都懒得做🌝🤔

"JavaScript 能表达的程序最终都会被写出来"
前端娱乐圈
#php #js #web 双重傻逼就是傻逼两次。 第一次混淆 sql 代码和数据已经够弱智,第二次是暴露 http 不管传输层在应用层做脑残防护,三秒给你监听代码扬了。
https://github.com/w2sft/BrowserWAF #github #china #haha

“ 防自动化攻击: 如动画中,浏览器下方,开始时候密码输入框的id和name都为空,也就意味着通过识别元素id和name属性的方式,是无法被定位到的,那么也就无法进行自动赋值,也就无法进行暴力破解、撞库等攻击(burp嗅探重放式的除外)。

同时,注意有一个属性为hidden的input框。它是被随机插入在页面中的,这样也就可以防止使用xpath方式定位的攻击。

🌚???你还知道 xpath 啊,那你知不知道随机一个 <input hidden> 也能被自动过滤?