为什么不能用 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. .net 委托多线程 实时更新界面

    Thread thread = new Thread(() => { button2.Invoke(new EventHandler(delegate { button2.Enabled = t ...

  2. rem是怎么计算的

    「rem」是指根元素(root element,html)的字体大小,从遥远的 IE6 到版本到 Chrome 他们都约好了,根元素默认的 font-size 都是 16px. rem是通过根元素进行 ...

  3. 新闻API接口

    最近很多大学生为了完成作业,或者刚开始接触android的问我要新闻APP的源码,其实就是个很小的demo,以前自己也是学着别人敲得的代码,现在自己整理了一份体积很小,代码注释非常详细的新闻APP.提 ...

  4. 读书笔记-JavaScript高级程序设计(1)

    1.组合继承 (JavaScript 中最常用的继承模式 ) (position: page168) (书中定义了两个变量名 SuperType   SubType  乍一看 感觉不太能区分,我将改为 ...

  5. 关于Activity生命周期的总结

    1.Acitivity的四种状态 (1)运行:位于Activity栈顶,用户可见,可获得焦点. (2)暂停:如果一个活动被另一个非全屏的活动所覆盖(比如一个Dialog),那么该活动就失去了焦点,它将 ...

  6. 【原创】大叔问题定位分享(1)HBase RegionServer频繁挂掉

    最近hbase集群很多region server挂掉,查看其中一个RegionServer1日志发现,17:17:14挂的时候服务器压力很大,有大量的responseTooSlow,也有不少gc,但是 ...

  7. C++入门篇二

    c++是c语言的增强版,但是和c语言之间有何区别呢? c和c++的区别: 1.全局变量检测增强int a;int a=10; 2.函数检测增强,参数类型增强,返回值检测增强,函数调用参数检测增强(参数 ...

  8. select获取选中的option(包含value和text,重点是text怎么获取)

    简单描述:后台需要获取到select标签选择的内容,也就是text,该怎么取呢?很简单. 代码: //hml代码<div class="col-md-6"> <l ...

  9. 微信小程序picker组件 - 省市二级联动

    picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. picker官方文档链接 由于项目需 ...

  10. fire workflow总结

    一.Fire WorkFlow核心1.IPersistenceService存储服务.Fire Workflow 缺省情况下使用hibernate 进行数据库存取.如果你的系统不是使用hibernat ...