首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

对抗蠕虫 —— 如何按钮不被 JS 自动点击

那么有没有一种机制,「发表留言」必须通过用户的「真实点击」按钮才能完成,而无法通过脚本自动实现?这样就能减缓蠕虫传播速度了。...实现 这个想法听起来好像不可行:如果发表留言需要带上用户行为信息,那么 XSS 完全可以伪造一份行为数据,后端根本无法识别。 除非,用户在点击按钮时会产生一个「特殊数据」,后端校验它。...但是,XSS 也可以直接调用按钮元素的 click 方法,这样效果和用户点击仍然一样。后端仍无法识别是「脚本点的」还是「用户点的」。...这里为简单,省略了登录态;真实场合下,会话 Cookie 是 HttpOnly 的,无法JS 获取到,也就无法第三方服务器代替发表。...,内部变量 S 置为 true,同时将点击消息告知主页面(postMessage) 主页面收到消息后, A 产生 onclick 事件 使用者将 HTTP 请求数据,通过 A 的 send 方法扔给

9.1K60

JS实现动态获取当前点击事件的id属性值

原本要实现的功能如下: 点击下图播放按钮,要弹窗播放对应的视频链接。...整个页面是通过ajax请求最新的4部视频进行填充完成,视频列表又是通过template-web.js插件补上去的,所以导致所有ID值都是一样的,一开始给按钮添加一个事件,结果是所有播放按钮都是播放第一个视频...于是,想了好多办法,又把ID属性给弄成动态的ajax请求的属性值,实现了每个id不一样,接下来,因为点击播放要调用一个方法,进行解析视频播放,拼接成API+视频链接的格式在新打开的弹窗进行展示。...具体可以看下图: 要实现点击不同按钮,并且按钮ID是动态从ajax请求获取的,还要添加点击视频拼接视频链接,参考了文章,可以获取点击按钮的id值,然后使用button,将链接放在value中 Dom

25K20

js动态绑定事件无法使用for循环中变量i的问题

每天不是在写 bug,就是在解 bug 的路上~更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』 1.问题描述 在一个 for 循环中,我动态给一堆 a 标签绑定 onclick 事件时...,发现点击事件不正确。...,弹出 0,点击第二个链接,弹出 1......以此类推。...但是上述代码点击每一个链接总是弹出一个值,而且还是个不正常的值。之所以说它不正常,是因为上面我获取到了 5 个标签,正常下标应该到 4 结束,但是总是弹出 5 ????...答:那是因为事件函数是一个匿名函数,此函数会在 for 循环执行之后调用。调用时,发现内部没有定义变量 i ,所以就去外面找一下,发现外层有,就取外层的值了,但是为什么是 5 呢?

3.8K10

移动端点击穿透问题解决

正是由于这种 click 事件的滞后性设计从而会产生事件穿透(点击穿透)问题。...移动端 click 事件点击会有 300ms 延迟问题,但是 touchstart  touchend 不会延迟,当这几个事件同时绑定的时候,则会导致三个事件回调函数执行的逻辑无法同时进行,从而产生了...js 解决方案 1、只用touch 把页面内所有click全部换成touch事件(touchstart、touchend、tap),需要特别注意a标签,a标签的href也是click,需要去掉换成js控制的跳转...如果要求不高,不在乎滑走或者滑进来触发事件的话,span+touchend就可以了。...毕竟tap需要引入第三方库 不用a标签其实没什么,移动app开发不用考虑SEO,即便用了a标签,一般也会去掉所有默认样式,不如直接用span 2、只是用click 下下策,因为带来300ms延迟,页面内任何一个点击都将增加

91420

前端入门6-JavaScript客户端api&jQuery

close() 关闭窗口(不是所有浏览器都允许js关闭窗口) focus() 窗口获得键盘焦点 scrollBy(x, y) 文档相对于当前位置进行滚动 scrollTo(x, y) 滚动到指定位置...所以,即使找到了元素后,还需要将元素与一些事件进行绑定,比如点击事件等等。...MouseEvent button 标明点击的是哪个键,0:鼠标主键,1:中键,2:次键 altkey 事件触发时是否有点击alt键 clientX 事件触发时鼠标相对于元素视口的X坐标 clientY...事件触发时鼠标相对于元素视口的Y坐标 screenX 事件触发时鼠标相对于屏幕坐标系的X坐标 screenY 事件触发时鼠标相对于屏幕坐标系的Y坐标 shiftKey 事件触发时是否有点击shift键...键盘点击事件 keydown 在用户按下某个键时触发 keypress 在用户按下并释放某个键时触发 keyup 在用户释放某个键时触发 键盘点击事件传入的是 KeyboardEvent 对象。

6K40
领券