为什么不能用 JS 获取剪贴板上的内容?

为什么不能用 JS 获取剪贴板上的内容?

发一串口令给朋友
朋友复制这串口令,然后访问你的网站
你在网站上用 JS 读取朋友剪贴板上的口令
根据不同的口令,显示不同的内容

然后问题来了
试过几个浏览器
发现只有 IE 浏览器上可以用 JS 读取剪贴板上的内容

读取剪贴板上的内容
想想应该很简单的样子
为什么各大浏览器都不支持呢?

假设下面这种情况:
1 我做了一个网站
2 任何人访问我的网站时,都读取它的剪贴板上的内容,保存到我的数据库里
3 你朋友问你要优酷的账号密码
4 你从自己电脑上保存的文件里复制了账号密码发给了你的朋友
5 你点开了我的网站
6 你剪贴板上的内容被我用 JS 获取到,并保存到了我的数据库里
7 你优酷的账号密码就被我知道了
8 如果我的网站访问的人特别多,每个人剪贴板上的内容都被我保存下来,一定会发现很多的隐私信息
9 然后就 GG 了

所以,为什么各大浏览器都不支持用 JS 获取剪贴板上的内容,现在你明白了吧

扩展:
支付宝的吱口令,它是不是获取了你剪贴板上的内容?
是的,没错。
支付宝是 APP
APP 可以获取剪贴板上的内容
浏览器也是 APP
浏览器本身也可以获取剪贴板上的内容
但是浏览器并不允许运行在上面的网页里的 JS 读取你的剪贴板

那么这些 APP 会不会保存你的隐私信息呢?
支付宝的账号密码,支付宝都给你保存了,你的银行卡、身份证号码等,支付宝也给你保存了(而且是你主动让它保存的,不是它偷偷获取的)
你还有什么隐私信息需要它保存的呢?

为什么不能用 JS 获取剪贴板上的内容?的更多相关文章

  1. js获取文件上传进度

    js获取文件上传进度: <input name="file" id="FileUpload" type="file" /> &l ...

  2. JQ和Js获取span标签的内容

    JQ和Js获取span标签的内容 html: 1 <span id="content">‘我是span标签的内容’</span> javascript获取: ...

  3. JS获取剪贴板图片之后的格式选择与压缩问题

    前言 某年某月的某一天,突然发现博客服务器上上传的图片都比较大,一些很小的截图都有几百kb,本来服务器带宽就慢,不优化一下说不过去. 问题细述 特别说明:本文代码因为只是用于我自己后台写markdow ...

  4. js获取input上传文件名和后缀

    var file = $("#filedata").val(); var pos = file.lastIndexOf("\\");  var filename ...

  5. Js获取file上传控件的文件路径总结

    总结一个获取file上传控件文件路径的方法 firefox由于保护机制只有文件名,不能获取完整路径. document.getElementById('file').onchange = functi ...

  6. js获取select选中的内容

    ### 获取select选中的内容 js获取select标签选中的值 var obj = document.getElementById("selectId");//获取selec ...

  7. 如何用JS获取页面上的所有标签

    最近忙的一匹,忙着大保健,都来不及写博客,今天特意抽出点时间来写一写 前两天看到一个题,是问如何从页面上获取所有的标签的并查看他们的数量,感觉还是有点意思的,所以给大家来搞一下子 我们先来捋捋思路,那 ...

  8. js获取浏览器上一访问页面URL地址,document.referrer方法

    如题,可用document.referrer方法获取上一页面的url 但是也有不可使用的情况 直接在浏览器地址栏中输入地址: 使用location.reload()刷新(location.href或者 ...

  9. JS获取页面上所有input

    for (var i = 0; i < document.getElementsByTagName("input").length; i++) { if (document. ...

随机推荐

  1. CSS+HTML+JQuery实现条形图

    在工作中遇到了写条形图的情况,因为文字,条形数量和条形图的颜色需要改变,所以不能用图片,所以决定写一个试试,写的比较简单,但毕竟是第一次,也遇到了一些问题,特意记录下来,以免忘记. 因为该页面还需要兼 ...

  2. Codeforces Round #527 (Div. 3) . F Tree with Maximum Cost

    题目链接 题意:给你一棵树,让你找一个顶点iii,使得这个点的∑dis(i,j)∗a[j]\sum dis(i,j)*a[j]∑dis(i,j)∗a[j]最大.dis(i,j)dis(i,j)dis( ...

  3. C#压缩解压文件

    using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using ...

  4. 412 6个题 BOM and DOM 定义计数器 网页跳转 网页前进后退

    AM BOM-JavaScript: 提供一系列对象哟用于和浏览器窗口交互,对象主要有 window.document.location.navigator.screen 统称浏览器对象模型(Brow ...

  5. jetty启动设置端口

    nohup java -jar start.jar jetty.port=10010 命令不能在后台运行,ctrl+c程序就自动停止了,可以在命令后面加个&符号,就可以了 nohup java ...

  6. 【原创】大叔问题定位分享(21)spark执行insert overwrite非常慢,比hive还要慢

    最近把一些sql执行从hive改到spark,发现执行更慢,sql主要是一些insert overwrite操作,从执行计划看到,用到InsertIntoHiveTable spark-sql> ...

  7. 入坑C++之vs 新建C++项目

    首先呢,下载一个visual  studio 2017的编辑器工具,可能有最新的2019年的版本,根据自己喜欢选择哪个版本就好了 visual studio IDE下载地址:https://visua ...

  8. centos6.5环境下的web项目mysql编码方式导致的中文乱码问题

    最近在centos6.5下部署web项目时网页出现中文乱码的问题,在排除掉php之后,把问题锁定在mysql的编码方式上. 解决方法如下: 首先进入mysql命令行,输入命令:SHOW VARIABL ...

  9. C++11新特性(1)

    1.long long 类型 C++11新增了long long 和 unsigned long long 类型,为长整型和无符号长整型 long long 类型的数据占用8个字节(64位),取值范围 ...

  10. Mac OS X系统下,svn: Can't remove file Operation not permitted.解决方案

    当你的svn出现类似以下错误时,提示Operation not permitted之类的问题,说明项目下 .svn文件夹内的文件权限有问题. 一般是由于windows和mac操作系统同时操作同个svn ...