V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
studyingss
V2EX  ›  程序员

NotionNext 这个项目有点恐怖啊,在文档页面按 f12 会卡死电脑,这是合理的防御手段吗

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

    这个项目的详细配置文档需要做一个“人机检测”,就是扫码关注微信公众号收验证码。

    像这篇 https://docs.tangly1024[.]com/article/notion-next-themes

    当时懒得拿手机扫码了,就想按下 f12 看看有没有办法直接看。(我承认这里是我不对,主要是它会先加载全文再隐藏后半截,所以我想偷个懒……结果被教训了)

    打开 f12 之后会跳出 debugger ,点了两次运行之后鼠标就开始闪,挪动卡卡的,开始还没反应过来,以为是后台有啥程序开始跑,按开任务管理器发现 chrome 在疯狂吃内存和 cpu ,整个 chrome 都没法操作,单个 tab 也卡得关不掉,最后在任务管理器里杀了整个 chrome ,还好现在的 web 编辑器基本都有云草稿没造成什么损失。

    后来试了下,逻辑应该是这样:检测到 f12 之后会触发两个断点作为警告,如果不听劝点两次继续,就会开始吃 cpu 和内存卡住浏览器来达到阻止调试的目的。

    想请教一下这是前端禁止 f12 的通用做法吗?这种防御手段合理吗?

    (我保证以后尊重知识成果再也不白嫖了)

    20 条回复    2024-10-14 16:18:55 +08:00
    xiri
        1
    xiri  
       70 天前   ❤️ 9
    “扫码关注微信公众号收验证码”,一般到这一步我就会跳过这个项目了,这种操作的目的根本不是人机检测,只是为了给公众号引流,最终通过广告等各种方式变现所谓的“私域流量”
    EchoWhale
        2
    EchoWhale  
       70 天前 via iPhone
    话说这些都是防君子不防小人
    hez2010
        3
    hez2010  
       70 天前   ❤️ 2
    其实这种做法没啥用,你如果无论如何都想要看的话,直接把 readmore.openwrite.cn/js/readmore-2.0.js 加到广告过滤列表里就行了
    drymonfidelia
        4
    drymonfidelia  
       70 天前
    我们公司网站如果检测到各类 dev tools (不仅 F12 还包括 webdriver 一类的)会往 cookies 插入风控标记,下个请求同步后账号就会被永久标记为风险账号,所有营销活动都无法参加
    欧美很多产商都有类似的设计
    liangdi
        5
    liangdi  
       70 天前
    @drymonfidelia 这个思路好
    liangdi
        6
    liangdi  
       70 天前
    不过题主,我教你一招,F12 -> Ctrl+Shift+P -> Disable JavaScript -> 点击, 然后刷新页面
    drymonfidelia
        7
    drymonfidelia  
       70 天前
    @drymonfidelia #4 这种不用怕误杀,普通用户可不会在活动页打开 devtools 还知道怎么跳过断点之类的
    @liangdi #6 对 OP 这个网页可能有用,现在很多网站都是 js 渲染的,关闭 js 网页都打不开
    jhdxr
        8
    jhdxr  
       70 天前
    firefox 无影响,实测似乎能够检测出并且拦截这种行为

    控制台显示:
    短时间内对 Location 或 History API 的调用过于频繁。readmore-2.0.js:2:20750
    LuckyLauncher
        9
    LuckyLauncher  
       70 天前
    @drymonfidelia #7 普通用户只要在页面误触个 F12 就打开 devtool 了
    bigtear
        10
    bigtear  
       70 天前
    试了一下,污染了历史记录
    Kasine
        11
    Kasine  
       70 天前
    @drymonfidelia 学到了,用 F12 远离营销
    drymonfidelia
        12
    drymonfidelia  
       70 天前
    @LuckyLauncher 打开 devtool 后还要知道跳断点 这种一看就不是正常用户行为
    @Kasine 黑号后你买东西都比别人贵几倍,买促销的东西就自动砍单
    People11
        13
    People11  
       70 天前
    你可能需要 https://chromewebstore.google.com/detail/anti-anti-debug/mnmnmcmdkigakhlfkcdimghndnmomfeo
    当然这玩意也不是万能的,对部分正常网站也有副作用,但是对付题主给的网站那是没问题
    madtwilight
        14
    madtwilight  
       70 天前 via Android
    studyingss
        15
    studyingss  
    OP
       70 天前
    @jhdxr 奇怪,我用基于 firefox 的 floorp 也试了没检测出来

    @bigtear 我都没发现还有这个副作用

    @hez2010 厉害啊学到了

    @People11 6 啊还有这种东西,上 v2 真能学到东西

    @madtwilight 确实得换,其实就算是扫码我也能勉强接受,但文档有这种行为是真不敢用了
    lisxour
        16
    lisxour  
       69 天前
    @liangdi #6 不行的,现在的网页不是几十年前的那种了,复杂程度很高的,禁用 js ,我敢说至少 8 成的网站都打不开,或者功能严重失常(即使看起来只是简单的页面跳转,以前都是 a 标签,现在都是 js 路由跳转)。
    liangdi
        17
    liangdi  
       69 天前
    @lisxour 这个是个 静态网站生成器,详情页面本身就有完整的 html , 你测试一下就知道了
    studyingss
        18
    studyingss  
    OP
       69 天前
    @liangdi 禁用掉 js 内容是可以显示,但是旁边目录好像点不了了
    liangdi
        19
    liangdi  
       69 天前
    @studyingss 这个只是解决那个恶心的关注公众号的问题
    chenxuuu
        20
    chenxuuu  
       69 天前
    直接被火狐杀了,不会卡

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 13:32 · PVG 21:32 · LAX 05:32 · JFK 08:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.