V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ouou8
V2EX  ›  程序员

网站能检测到我查看它的源码? 怎么做到的

  •  1
     
  •   ouou8 · 2019-05-30 23:57:39 +08:00 · 10972 次点击
    这是一个创建于 2009 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如 Chrome 浏览器正常打开一个网站,例如打开 www.v2ex.com 这样子。一般情况下是可以直接复制 V2 页面的一些文字信息的。 但是发现有些网站禁止了复制。于是我就想在 Chrome 浏览器里这样操作 view-source:https://www.v2ex.com/

    可以看到 html 静态源码了。这样也就可以直接复制代码了一些有用的信息,比如文章。

    牛叉啊,复制几次后,竟然禁用了我的账号。理由是复制内容。

    有些文章需要注册帐号才能看的。账号登录后再查看源码复制就被发现了。 不知道他是否能发现 那些不用登录就能看的文章 查看源码时,他是否知道。

    问题是,他是如何知道我查看源码的。怎么做的啊

    64 条回复    2019-06-01 15:47:12 +08:00
    qwqdanchun
        1
    qwqdanchun  
       2019-05-30 23:59:47 +08:00
    网址发出来啊,直接看前端代码不久好了
    amazingrise
        2
    amazingrise  
       2019-05-31 00:00:28 +08:00 via Android
    提醒一下楼下即将回复的老哥,注意审题
    Flasky
        3
    Flasky  
       2019-05-31 00:06:48 +08:00 via Android   ❤️ 3
    通过只 get 了页面,没 get 别的 js、css 静态资源来判断的?
    suyuyu
        4
    suyuyu  
       2019-05-31 00:08:51 +08:00
    只请求了页面没请求静态资源?
    bxb100
        5
    bxb100  
       2019-05-31 00:10:48 +08:00 via Android   ❤️ 1
    页面加载完执行某个请求判断?你可以看一波网络请求。
    opengps
        6
    opengps  
       2019-05-31 00:19:40 +08:00 via Android
    应该不能吧
    opengps
        7
    opengps  
       2019-05-31 00:20:39 +08:00 via Android
    @Flasky 我曾经这么想过,后来发现不成立,因为 js,css 都是解析了 html 之后才开始的
    CEBBCAT
        8
    CEBBCAT  
       2019-05-31 00:23:00 +08:00
    @opengps #7 做个统计不就好了么……
    whllhw
        9
    whllhw  
       2019-05-31 00:31:26 +08:00
    网页里放 payload ?放个空的 img 标签监测 payload 是否被访问
    crab
        10
    crab  
       2019-05-31 00:36:03 +08:00
    @opengps 反爬虫不就有通过日志判断某 IP 是否采集,比如是否请求图片 js 这类文件。
    JasonQs
        11
    JasonQs  
       2019-05-31 00:45:55 +08:00 via Android   ❤️ 1
    (某 av 网站也能检测开发者模式并且暂停页面
    同好奇是怎么做到的
    shiny
        12
    shiny  
       2019-05-31 00:56:26 +08:00   ❤️ 1
    @JasonQs 搜索 “检测 DevTools ”
    ochatokori
        13
    ochatokori  
       2019-05-31 02:20:41 +08:00 via Android
    哈哈哈,因为看源码复制文章被封看笑了(不是笑楼主的意思,不知为何很想笑
    cydysm
        14
    cydysm  
       2019-05-31 03:40:19 +08:00 via iPhone
    还是给网站吧
    yongligua
        15
    yongligua  
       2019-05-31 05:09:35 +08:00 via Android
    怕不是用 js 维持一个类似心跳的操作…
    MrGba2z
        16
    MrGba2z  
       2019-05-31 05:13:27 +08:00
    我猜你在开车。。但是我真的没证据
    xliao
        17
    xliao  
       2019-05-31 07:39:31 +08:00 via iPhone   ❤️ 8
    老早就有网站搞 devtool 检测了,可以关键词搜一把。但是再牛 b 也敌不住断网啊,打开想看的页面然后断网查看源码
    opengps
        18
    opengps  
       2019-05-31 07:50:37 +08:00 via Android
    @JasonQs 后打开能检测,先打开没法检测。
    Buges
        19
    Buges  
       2019-05-31 07:58:07 +08:00
    我猜是监测快捷键发现你按了 f12 ?
    iAcn
        20
    iAcn  
       2019-05-31 08:08:10 +08:00 via Android
    chrome 好像是有个属性检测 devtool 是否打开来着,是静态写在 js 里的,和断不断网没关系。
    szq8014
        21
    szq8014  
       2019-05-31 08:33:32 +08:00
    @xliao 机智~

    @iAcn 检测的方法应该不少,比如有一个可以 new 一个对象,重写 toString 方法,然后 setInterval 打印那个对象就可以了,不开 devtool 的话 toString 就调用不了


    请求内容时 session 变量+1,然后 document ready 后发个请求,变量 -1,如果大于某值 ban 掉?
    silencefent
        22
    silencefent  
       2019-05-31 08:35:34 +08:00
    用 fiddler 这类工具不就行了吗
    justfindu
        23
    justfindu  
       2019-05-31 08:41:57 +08:00
    不如用 ie6
    janus77
        24
    janus77  
       2019-05-31 08:42:13 +08:00 via iPhone   ❤️ 2
    devtool 没啥用的,我可以直接浏览器打开 view-source:url 这个地址,不需要任何工具。
    murmur
        25
    murmur  
       2019-05-31 08:42:23 +08:00
    啥网站复制东西还封禁 这么牛批
    cjpjxjx
        26
    cjpjxjx  
       2019-05-31 08:42:52 +08:00
    等网页加载完了直接断网,再按 F12,复制完了直接关掉浏览器,我就不信还能封账号
    maxshaw
        27
    maxshaw  
       2019-05-31 08:42:57 +08:00 via Android
    首先禁用 js,然后 ctrl+u
    LokiSharp
        28
    LokiSharp  
       2019-05-31 08:43:10 +08:00
    啥网站啊,发出来让大伙玩玩
    elikoi17
        29
    elikoi17  
       2019-05-31 08:49:55 +08:00 via Android
    说了这么多,不能直接 curl 吗(带 cookie 和 header )
    jinhan13789991
        30
    jinhan13789991  
       2019-05-31 09:00:15 +08:00 via Android
    ctrl+s 保存后随便看
    messyidea
        31
    messyidea  
       2019-05-31 09:07:51 +08:00
    想起当时实习的时候公司内网会检测复制比(超过复制比上报并警告),然后每次都是用 switchomega 切换一个不可用的代理,直接复制,反正请求发不过去。网页禁复制可以使用 enable copy(chrome 的一个插件)来搞
    yautou
        32
    yautou  
       2019-05-31 09:10:27 +08:00
    挺有意思的讨论,Mark 下
    atom234
        33
    atom234  
       2019-05-31 09:24:58 +08:00
    有些网站能够出现那种谷歌控制台自动 debug 卡住不让看的情况,具体实现未知,有大佬吗?
    unknowncheater
        34
    unknowncheater  
       2019-05-31 09:28:31 +08:00
    断网复制
    HuberyPang
        35
    HuberyPang  
       2019-05-31 09:30:24 +08:00
    关注下
    freakxx
        36
    freakxx  
       2019-05-31 09:42:28 +08:00   ❤️ 1
    @atom234 #33

    (function() {var a = new Date(); debugger; return new Date() - a > 100;}())
    ylsc633
        37
    ylsc633  
       2019-05-31 09:47:58 +08:00
    正常页面 监听了 crtl+c 事件

    类似于 知乎 或者 床上等你 复制的时候 不都是会多带些内容的..

    不过这种 view-source 能不能监听到.. 不太清楚.. 前端我不专业
    yazoox
        38
    yazoox  
       2019-05-31 09:50:45 +08:00
    @janus77 楼主就是用的你这个方法,被封号的吧。
    cdwyd
        39
    cdwyd  
       2019-05-31 09:51:57 +08:00 via Android
    @freakxx 这种要怎么破,遇到几次打开控制台就直接卡住的情况
    BadReese
        40
    BadReese  
       2019-05-31 09:53:26 +08:00
    大家都被钓鱼了
    carrot2333
        41
    carrot2333  
       2019-05-31 09:56:39 +08:00
    阿迪的官网就这样 不知道是不是我出 bug 了 一打开控制台就无穷无尽的 debugger
    imdong
        42
    imdong  
       2019-05-31 10:05:45 +08:00
    如果这个功能被我实现,我会这样做:

    每个页面都插入一个外部资源(统计图片?)

    然后如果多次加载页面却没加载这个图片,这判定异常。
    mgrddsj
        43
    mgrddsj  
       2019-05-31 10:08:42 +08:00   ❤️ 1
    歪个楼,楼主本来目的是要复制网页上的文字,网站不允许,可以用这个拓展解除限制:
    https://chrome.google.com/webstore/detail/absolute-enable-right-cli/jdocbkpgdakpekjlhemmfcncgdjeiika
    (没收广告费,只是好用)
    至于为什么网站能检测到就不知道了。
    zhttty
        44
    zhttty  
       2019-05-31 10:12:11 +08:00
    你改源码可以复制了,不等于网站不能监控你复制操作啊,统计到多次复制操作就可以封禁账号了;你可以试试不改源码情况下,多次复制操作(就是反复按 ctrl C )
    onecode
        45
    onecode  
       2019-05-31 10:15:43 +08:00
    @JasonQs 如果不出意外,js 中应该有 debugger;
    AnnieSWonderland
        46
    AnnieSWonderland  
       2019-05-31 11:06:43 +08:00   ❤️ 8
    楼主一直不发网站,说不定是自己项目要加个类似功能,苦于无思路,跑来发的钓鱼贴.
    Hsueh
        47
    Hsueh  
       2019-05-31 11:07:42 +08:00
    还有现在很多网站能检测到 你屏蔽了广告,进而自动关闭网站或者不显示页面!
    xenme
        48
    xenme  
       2019-05-31 11:10:53 +08:00
    这种还是 MITM 靠谱
    luoway
        49
    luoway  
       2019-05-31 12:17:06 +08:00
    确实可以通过 js 检查是否打开了 debugger
    可以通过 Charles 等代理工具监视网络请求来达到复制而不会被检测到的目的
    Ibuke
        50
    Ibuke  
       2019-05-31 15:17:32 +08:00
    @Hsueh #47 如果是网页刚开始正常加载,然后突然被清空并提示检测到 ad blocker 什么的话可以试试油猴上的 BlockBlockAdBlock
    hideonwhere
        51
    hideonwhere  
       2019-05-31 16:28:38 +08:00
    监控剪贴板?
    woffee
        52
    woffee  
       2019-05-31 17:14:14 +08:00
    没人提到 Safari 吗?使用阅读模式,再复制粘贴,好用的一匹
    winglight2016
        53
    winglight2016  
       2019-05-31 18:05:00 +08:00
    检测打开 dev tools 没什么意义啊? lz 在问,网站怎么知道“复制”了内容,至于是否打开 dve tool 不重要吧,至少它自己的开发人员也是需要 dev tool 来开发测试的呀。

    js 是不可能知道复制操作的,我只知道 flash 可以检测剪贴板,其他方法都没有权限吧?
    skylancer
        54
    skylancer  
       2019-05-31 18:14:21 +08:00
    @JasonQs 抢调试
    johnnyR
        55
    johnnyR  
       2019-05-31 18:35:02 +08:00
    @AnnieSWonderland 明白人了
    realpg
        56
    realpg  
       2019-05-31 18:37:15 +08:00
    最基本的反爬虫技术了
    当年我做反刷票就用这个折腾过不少人
    PressOne
        57
    PressOne  
       2019-05-31 18:43:32 +08:00 via Android
    @AnnieSWonderland 现在套路都这么深哇
    yhxx
        58
    yhxx  
       2019-05-31 19:00:30 +08:00
    检测打开了开发者工具是有方法可以 hack 的,但是直接用 view-source:这样的 url 访问还能检测?
    不太科学啊
    Youkochan0v0
        59
    Youkochan0v0  
       2019-05-31 22:16:17 +08:00 via Android
    有点意思,还没遇过这种情况,感觉比起监听剪贴板变更,可能是统计页面里的资源有没有被加载?保存页面后断网查看源码再复制吧
    slanternsw
        60
    slanternsw  
       2019-05-31 22:17:27 +08:00 via Android
    sourcemap 了解一下
    arens
        61
    arens  
       2019-05-31 22:20:54 +08:00
    可能被检测为恶意采集爬虫了,躺枪
    shanlan
        62
    shanlan  
       2019-06-01 00:00:16 +08:00
    chrome,Ctrl+P,随便复制。
    weixiangzhe
        63
    weixiangzhe  
       2019-06-01 08:42:26 +08:00 via iPhone
    抓到包 直接下载
    luozic
        64
    luozic  
       2019-06-01 15:47:12 +08:00 via iPhone
    心跳检测不就行了,抓包那种 人家上 websock ? 或者双向禁止中间人证书那种 你咋抓?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 22:27 · PVG 06:27 · LAX 14:27 · JFK 17:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.