nginx 如何屏蔽禁止屏幕分辨率: 800x600 的访问呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
baiduyixia
V2EX    NGINX

nginx 如何屏蔽禁止屏幕分辨率: 800x600 的访问呢?

  •  
  •   baiduyixia 2020-09-22 20:37:21 +08:00 6474 次点击
    这是一个创建于 1916 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问 nginx 如何屏蔽禁止屏幕分辨率:800x600 的设备访问呢?搜了一圈都是禁止平台类型的,有没有办法根据分辨率禁止禁止的?谢谢

    24 条回复    2020-09-23 10:25:07 +08:00
    codehz
        1
    codehz  
       2020-09-22 20:42:05 +08:00
    user-agent 里看不到分辨率信息,只能用 js 获取
    codehz
        2
    codehz  
       2020-09-22 20:43:17 +08:00
    (也不是没有非 js 解决方案,可以弄个 css,在最大宽度为 800,最大高度为 600 的时候显示一个全屏覆盖层(也可以发个请求到后端拉黑 ip
    KyonLi
        3
    KyonLi  
       2020-09-22 20:48:54 +08:00 via iPhone   7
    换个思路,用 iptables 做怎么样
    meathill
        4
    meathill  
       2020-09-22 20:51:11 +08:00
    不行。猜测楼主是想屏蔽掉某爬虫的巨量访问。
    Jirajine
        5
    Jirajine  
       2020-09-22 20:53:13 +08:00 via Android
    前端获得的是逻辑分辨率吧,屏幕缩放越大“分辨率”就越小。反爬意义也不大,这些都是零成本随便改的。
    baiduyixia
        6
    baiduyixia  
    OP
       2020-09-22 22:14:07 +08:00
    @meathill 是的,还要屏蔽掉采集
    baiduyixia
        7
    baiduyixia  
    OP
       2020-09-22 22:14:24 +08:00
    @KyonLi 不行,ip 一直在换
    baiduyixia
        8
    baiduyixia  
    OP
       2020-09-22 22:17:26 +08:00
    @Jirajine 从统计中获取到的信息,都是这个分辨率
    lovedebug
        9
    lovedebug  
       2020-09-22 22:18:10 +08:00
    记得有一篇论文可以根据用户的行为以及用户使用的浏览器等为一类用户打上唯一的标签,类似浏览器指纹。
    Ptu2sha
        10
    Ptu2sha  
       2020-09-22 23:19:59 +08:00
    类似百度云防护 没有 cookie 的输出 js 获取浏览器信息 校验后生成 cookie 再跳转
    hotsymbol
        11
    hotsymbol  
       2020-09-23 00:13:22 +08:00
    换个思路,用 pkill -9 nginx 怎么样
    wangyzj
        12
    wangyzj  
       2020-09-23 00:49:19 +08:00   1
    #2 正解
    qwerthhusn
        13
    qwerthhusn  
       2020-09-23 01:23:28 +08:00
    @KyonLi iptables 感觉还是不行,先啃了 TCP/IP 羊皮卷三套,这样就能玩转网络了,这个需求就知道咋做了
    image72
        14
    image72  
       2020-09-23 01:30:17 +08:00
    @media all and (max-width: 768px) {
    body:after {
    visibility: hidden;
    content: url(/url/800px.png)
    }
    }
    lichdkimba
        15
    lichdkimba  
       2020-09-23 01:44:41 +08:00   2
    @image72 掩耳盗铃
    baiduyixia
        16
    baiduyixia  
    OP
       2020-09-23 01:59:50 +08:00 via iPhone
    @image72 不行吧,采集爬的是代码了,你表面看不到实际也是可以的
    baiduyixia
        17
    baiduyixia  
    OP
       2020-09-23 02:00:54 +08:00 via iPhone
    @codehz 不行咯,采集又不受 css 这些影响
    no1xsyzy
        18
    no1xsyzy  
       2020-09-23 03:35:35 +08:00
    HTTP 请求中不包含 viewport 的信息。
    但能被统计到用的是 GA ?并且还运行了 js ?那这采集估计用的得是无头。
    用户侧也是随便替换这个信息。

    除非这个爬虫是个通用爬虫,假如突然爬不到你也根本不会发现,那可以自己写个简单的 JS 重定向。
    但 SEO 大概就没了。

    换个想法,套个 CF (
    Dragonish3600
        19
    Dragonish3600  
       2020-09-23 07:18:38 +08:00 via iPhone
    搜索 user fingerprint,用这个 js 生成用户 Id 和 cookie
    然后 nginx lua 来判断 cookie,没有就返回 302 。这样爬虫不加载 is 就会不停 302,加载了就会被识别
    xuanbg
        20
    xuanbg  
       2020-09-23 08:31:26 +08:00
    爬虫改成 1920 * 1080 你不就抓瞎了?反爬要根据用户行为特征,而不是设备特征。
    locoz
        21
    locoz  
       2020-09-23 09:13:53 +08:00 via Android
    我就这么跟你说吧…除非人家用的是没有做过任何魔改的自动化测试工具爬的,要不然你这种检测起不到任何作用。因为随便就能伪造,即使你上了浏览器指纹也一样。

    与其这么搞,不如加个风控厂商的无感验证,然后给接口都加上签名校验。虽然现在主流的无感验证也是有手就能破了,但是也还是能挡住些新手。
    nnnToTnnn
        22
    nnnToTnnn  
       2020-09-23 09:31:37 +08:00
    @locoz 换个思路

    - IP 地址的请求频率
    - 鼠标移动轨迹分析
    - 前端代码压缩 + 数据混淆
    - 动态根据算法生成校验值
    - 鼠标按下和弹起分析
    - 根据 navigator.plugins 来进行分析
    - 根据屏幕大小来进行分析
    - 根据 canvas 的绘画数据来进行分析
    - 根据 webRTC 来进行分析
    yhxx
        23
    yhxx  
       2020-09-23 09:58:02 +08:00
    换个思路,前端检测到这个类型的请求,上验证码?
    Juszoe
        24
    Juszoe  
       2020-09-23 10:25:07 +08:00
    你这是 X-Y problem,反爬不是这样反的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1044 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 23:47 PVG 07:47 LAX 15:47 JFK 18:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86