AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户
PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能
TK白名单老户|兼职广告可投T3NZU:定义应用网盟新时代 FB个号3块一个寻找顶级电商?AdsBranded等你!
TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 13491|回复: 10

[分享] 简单前端JS校验脚本分享

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-9-14 10:27 编辑
$ |6 c; r0 B8 `2 r0 S" G! o+ z9 P4 i
开个头-------------持续亏钱ing。。。。  Y7 }7 D* ]7 }3 Z& k/ L
! J5 h% q- K5 ]( L* I9 C* @/ t

6 a/ X% r6 j8 y; o2 ~, ^这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。" F0 w* o' D+ g; i0 U- }

8 S: ^( w  X; g, N: f" E4 s基本效果么 可以查看这篇帖子
4 l. J* b1 k. yhttps://www.advertcn.com/thread-99669-1-1.html
; l# X4 \  f# w1 ?5 V; A" S. X7 Y! y( n2 Y; ~
% X8 M/ X9 V: ]5 _9 w* ~
但是要强调下:脚本永远只能作为参考和辅助,3 J' S" c% O6 ~" Q7 }
, m" l- K5 @' X; U$ \  M$ A
  1. //your track host2 U8 Q: R1 Q$ D( u
  2. var trackHost = "";6 g" f; N' K. O. u/ b0 a+ B" w) u
  3. 2 R$ D5 k$ v( l3 X/ V
  4. /**- G& V. j9 N' S# r+ z
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    - k1 \$ f; x0 F' W
  6. * 使用方式  直接调用jsSuportCheck()
    5 z# `7 a* m( u
  7. *      1.trackHost 指向你的追踪器,
    % R* i9 x. l8 f" _9 q( d
  8. *      2.修改 event1 为你自己的event
    : N7 B! P: ^3 l" c" N; I
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)& `( _! }$ o+ T
  10. *      4.追踪器上  event1 = 支持js浏览器数量5 y" S) e% o1 Q# H( F. k
  11. */
    # f+ U7 Z, E8 a& m- I, f) i+ D
  12. function jsSuportCheck() {
    . z7 L' D, J  R+ g( @' U
  13.     var o = document.createElement("img");
    ) E( J- C  P  Q+ @. @
  14.     o.style.display = "none";8 A7 B/ c9 c% ]& v+ V3 |6 ~+ _
  15.     o.src= trackHost + '?event1=1';
    9 g9 t+ B; q- e8 s% Y
  16.     document.body.appendChild(o)2 w8 @* v9 O( ]: M% X
  17. }9 @3 b$ K5 H: S4 h

  18. 2 t9 k$ W" I8 Y% N& j3 `% T2 p# f
  19. 7 _) R+ W/ z& H( F
  20. /**/ F  h5 m9 r) `
  21. * 2.页面存活时间0 ~/ L: c8 `8 x% n
  22. * 使用方式 直接调用 aliveCheck()+ \3 X0 ]6 `- Y* C
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    2 d8 b8 g) r& y. N: X
  24. *      1.trackHost 指向你的追踪器,
    # G- _' {( x6 j9 Y
  25. *      2.修改 event3 为你自己的event( B0 T3 N2 o: Z! D3 P% K5 K! L
  26. *      4.追踪器上 event3 = 页面存活时间1 e4 O( ^" ~( x4 Z$ u* E5 c. ^
  27. *& w" G/ V+ h# W' }0 x3 m# h
  28. * 数据说明:
    # X$ d# Y; h; v* [6 N
  29. *  1.时间为0$ }! i& D: V# ?
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头): S+ X' b3 c) Z3 R
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck9 h& @9 X* {% p8 L$ L
  32. *  2.时间不为0
    * E/ f1 r! Q+ c
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常. `( v( A% e: ]- q! X. H+ I
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题) ^  E4 f3 L" I- U
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以- |7 i; F+ P* e8 @7 C
  36. *, f/ _+ s) w% f: q  s
  37. */8 b  J2 ^: m# G; y$ p& E7 N6 \  K
  38. " d. x4 W; W. `' s4 v: C2 Y3 q
  39. var times = 0;- x! f# P4 F2 C6 [7 ~
  40. function aliveCheck() {
    ! a: H, U) @" k2 R! ]
  41.     setInterval("checklive()","1000");
    7 O( J2 H4 C/ j$ A% C. n" w
  42. }6 x6 W3 s$ v7 s1 C3 q
  43. function checklive() {
    $ f% T: D9 f; I2 |
  44.     times += 1;
    0 k+ U  P) S  ?: T4 N8 C  }
  45.     var o = document.createElement("img");0 E3 j* ]! r  B/ }& y, `
  46.     o.style.display = "none";
    2 G' m0 h- f/ V: S! D
  47.     o.src = trackHost + "?event3=" + times;
    % k$ ?5 S& `. G/ k
  48. }9 x# p! V6 L  H. S8 H, ^7 ^0 ^" s  T" L
  49. * ^1 y6 \# ~$ @8 e6 F! H$ I

  50. % Z& \# U% h6 p/ F
  51. /**' n, m: r) n9 x3 t+ j! S
  52. * 谷歌验证
      [; M9 \" u+ _6 M2 g  j
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    5 a9 P' [7 F! V+ i- Z
  54. *
    % _  N) N+ G( V' _4 K" S6 A0 s
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score( o( b; g1 W' B" ?* m( ]' U6 r
  56. */' @+ Y1 S! e6 M2 ~# c) P2 {; y/ i
  57. //申请的grecaptcha前端token7 o9 F+ n0 D) C' d/ d
  58. var token = "";: A1 q# e* ?( B: k1 ]3 y
  59. //你的grecaptcha后端服务器地址
    ' K$ e% J+ y+ f: O- a, j, v6 \
  60. var grecaptchaPostServer = "";
    : K* Y+ h& N$ z# F; |9 b
  61. function recaptcha() {1 H$ }3 k( Q, c  _6 j4 d- w
  62.     grecaptcha.ready(function() {
    5 w2 }( M$ r1 c& O3 _$ q
  63.         grecaptcha.execute(token).then(function(token) {7 |7 n7 @& a0 `: O
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");0 C" [, g4 l0 f% j2 d) h
  65.             var o = document.createElement("img");* j8 R% d. g; g4 k! t
  66.             o.style.display = "none";! E$ t0 B& j3 i5 Z$ s  L5 Y  i: S
  67.             $.ajax({) A: [2 K8 g: y: {+ k$ Y: R
  68.                 url: grecaptchaPostServer,
    ; ^6 G' n1 ?  x) L
  69.                 type: 'POST',
    / J% ~7 a4 G* z! D
  70.                 data: {"token":token,"ip":ip},
    ! p! C7 n- V1 h( X; U, Q/ ]
  71.                 success: function(data) {/ b, k5 D& A8 C& G2 K1 r6 ]
  72.                     if(data.score > 0.4){; i; X/ R# k  S+ G- ~' W
  73.                         score = 1;9 s/ H' }4 l8 m" z. l6 ^& y
  74.                     }else{
    7 i+ c1 a; j! g: b
  75.                         score = 0;
    % x+ Q0 f3 g" l" n
  76.                     }
    / G: g: c/ ^+ `
  77.                     o.src = trackHost + '?event2='+score;- b. i9 r* [4 f! I/ S# D5 s
  78.                     document.body.append(o)8 q5 s5 t- T, m7 I3 C8 K, H
  79.                 }
    - Q6 c, x7 F2 s9 R( [' a
  80.             });
    ) [, v7 k" G  Y* M1 G

  81. : N) a" `' W: N$ P0 k4 z, k- j/ v  R
  82.         });
    * \+ c& G2 _4 x& n! a! B
  83.     });
    $ m8 R4 c+ j6 k( Y& J9 F5 p, N
  84. }
复制代码
* M% @* J7 r' O* e1 D  t* ~

* ^+ Q" d( s* f2 ^+ H8 t7 b7 U7 X2 R. u* G' |
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
/ ~7 T) B; X) n: Y0 Q% ~8 K" g' s6 Y! o
+ m# V" m9 C2 }+ u3 A

8 }* |( o7 o8 R; g" y3 e2 h* c5 ]1 x3 M/ K8 \2 J

0 m0 s/ e( o* Q' z! q, E8 Z, {$ a+ A9 _0 g& M

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 1广告币 +20 收起 理由
bobogood + 20 赞一个!

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1010

广告币

1408

积分

高级会员

Rank: 4

积分
1408
发表于 2021-9-11 15:57:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

253

广告币

296

积分

初级会员

Rank: 2

积分
296
发表于 2021-9-11 18:09:27 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-9-11 22:20:28 | 显示全部楼层
补充下:
% _/ m2 L: F, D$ E0 o3 v+ Q今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将; I2 `/ N7 [0 ]" `8 u
  1. var times = 0;0 J; U, t5 T9 Q2 ?5 U
  2. function aliveCheck() {# k: o! Z# s$ p0 _3 p- n
  3.     setInterval("checklive()","1000");
    2 ^% ^( K- i- Q0 i. ?
  4. }
复制代码

0 }7 D' K0 Z+ h# a. |( g: `# {4 t0 n3 y修改为:+ Z" r* c0 \3 H% P- S
  1. var times = 0;) l/ E1 |, U& O  i) W. T
  2. function aliveCheck() {
    3 f( P: |/ _3 p6 k
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s5 R2 N, J9 u  i
  4.     setInterval("checklive()","5000");- j- E  g+ m, b) @
  5. }
复制代码

  ~& k% I' ]; Y追踪器压力明显降低。。。。& l7 }0 ], d& t) {4 G
" b0 c# M- I# m3 v
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?  详情 回复 发表于 2021-9-13 19:41
回复 支持 反对

使用道具 举报

0

主题

485

广告币

657

积分

中级会员

Rank: 3Rank: 3

积分
657
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
, n2 [8 W! y' a2 _4 V- r1 O补充下:
: F7 e% Z; A: Z$ r" [% i! F今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

! i  y7 c- t8 Q: x/ k# s* \" f虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?

点评

追踪器一般都支持自定义事件 binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。 这个就是js代码,直接放在LP里 但是记得要调用!!!!!  详情 回复 发表于 2021-9-14 10:16
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-9-14 10:16:18 | 显示全部楼层
tonychopper 发表于 2021-9-13 19:41
. w7 }; I, R  u) s+ o# R1 f! d$ K0 z虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
+ O- R; F$ s& B6 q5 v
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
! A! p" S* W; O  @$ z/ _这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

老哥能说明白点吗?在LP哪个位置调用  详情 回复 发表于 2022-1-8 20:22
回复 支持 反对

使用道具 举报

60

主题

1147

广告币

1730

积分

高级会员

Rank: 4

积分
1730

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16: q- Y( Z5 \5 `- l0 d* [7 f; z
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
+ y' o: q+ i4 @' |这个就是js ...

  k1 b8 g: t  ~0 I) \老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有  详情 回复 发表于 2022-1-11 15:56
回复 支持 反对

使用道具 举报

82

主题

646

广告币

1200

积分

高级会员

Rank: 4

积分
1200

社区QQ达人

发表于 2022-1-8 23:02:54 来自手机 | 显示全部楼层
厉害了!
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2022-1-11 15:56:06 | 显示全部楼层
pitch 发表于 2022-1-8 20:22
: r  P( F6 f; o老哥能说明白点吗?在LP哪个位置调用、怎么调用

$ F! b& u1 ?+ O1 o3 T) l放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

谢谢回复,已经用上了  详情 回复 发表于 2022-1-12 15:29
回复 支持 反对

使用道具 举报

60

主题

1147

广告币

1730

积分

高级会员

Rank: 4

积分
1730

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56
) z) k1 Q2 A, L1 e! i放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
+ h) P9 z& I+ N( S; s
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

1

主题

13

广告币

36

积分

初级会员

Rank: 2

积分
36
发表于 2023-3-21 23:23:54 | 显示全部楼层
I just like analyzing with code, what a good and clear job.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2025-12-30 06:41 , Processed in 0.069275 second(s), 23 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表