如何停止捏缩放,多点触摸input攻击?

目前谷歌铬稳定版本停止手动封锁捏缩放,这是可能的旧版本与以下设置:

chrome://flags/#enable-pinch 

我从一些随机捏放大/多点触摸input在我的自助服务机中受到攻击。

如何告诉JavaScript禁用缩放/多点触摸? (保护亭子)

我试图跟随,但没有什么是停止从忽略捏变焦攻击亭。

 $(document).ready(function() { $(document).bind('contextmenu', function() { console.log('NO NO NO. STOP!!!'); window.location.reload(); return false; }); $(document).mousedown( function() { console.log('NO NO NO. STOP!!!'); return false; }); }); 

我不知道这是否是一个完整的答案,但我没有代表评论。 一个选项是设置触摸事件的处理程序window.addEventlistner("touchstart", touchHandler, false); 然后写一个touchHandler函数

 function touchHandler(event){ if(event.touches.length > 1){ //the event is multi-touch //you can then prevent the behavior event.preventDefault() } } 

以下是关于使用触摸事件进行开发的更多信息https://mobiforge.com/design-development/html5-mobile-web-touch-events您将不得不为不同的触摸事件设置处理程序,以防止默认的缩放缩放行为取决于浏览器。 列表可以在这里找到: http : //www.quirksmode.org/mobile/default.html

我不知道这是否适合你,但可能值得一试。

假设您正在PC上运行自助终端,则无法通过Web应用程序以编程方式执行此操作。

您必须在触控设备驱动程序设置或操作系统设置中禁用多点触控手势支持。 这是一个很好的例子 – Windows 7触摸屏 – 禁用多点触摸手势不起作用

应该能够通过将这个元标记添加到<head>来防止用户放大:

 <meta name="viewport" content="width=device-width, user-scalable=no"> 

当我在开发人员工具中使用其触摸仿真对其进行测试时,我的Google Chrome Version 51.0.2704.84 (64-bit)尊重此设置。

例如:

  1. 一个网站, 缩放捏: 黑客新闻

<meta name="viewport" content="width=device-width, initial-scale=1.0">

  1. 一个不能缩放的网站: 设计师新闻

<meta name="viewport" content="width=device-width, user-scalable=no">

我想评论一下,允许你的用户放大和缩小不应该被认为是“攻击” 。 对于眼睛不好的人来说,放大是非常重要的(或者视力障碍者,我不确定英文的正确和礼貌的用语是什么)。

如果您禁用自然缩放行为,则应该对网页的可读性负全部责任

嗨,这里是我的建议。试着让它有意义,如果有多个输入,并使平均他们的手指一是在(10,20)和手指二是在(20,10)平均为(15, 15)。谢谢,我只能提出想法,而不是代码谢谢