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

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

  •  1
     
  •   ouou8 · 198 天前 · 8241 次点击
    这是一个创建于 198 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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


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

    (function() {var a = new Date(); debugger; return new Date() - a > 100;}())
        37
    ylsc633   197 天前
    正常页面 监听了 crtl+c 事件

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

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

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

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

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