找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手TK加白户/二解户/FB海外户/GG老户
海外CL企业户源头最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审GG,FB,TK, 欧美源头, 欢迎合作❤️
FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇⚡️Spend.net — 美元卡仅需$0⚡️✔Taboola海外户
广告位出租虚拟卡返佣1%,国内持牌机构  
查看: 14012|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑 ' u5 H% w7 t% ]% ]0 X

8 i8 d1 i$ J' L' u7 T* D7 v开个头-------------持续亏钱ing。。。。
& z; z8 t$ ]" C9 N; k
9 ?1 V) u* M- s/ v4 P1 }' x& [9 w  g. m, s/ y" m- z' F6 w
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。0 |( L6 e" G8 ~& |1 o" n

- B3 |2 I7 q/ ]. V5 V4 ~基本效果么 可以查看这篇帖子
& D. Y" h( z+ w5 L0 Qhttps://www.advertcn.com/thread-99669-1-1.html
; l& U5 v  p8 p) Z) g% i0 q/ l7 ~1 i

0 V$ E5 ^! Q' j7 E3 j但是要强调下:脚本永远只能作为参考和辅助,
0 Y8 Z2 N( P: q/ t, V
- @2 r/ e" ^: E: y# H4 j( v
  1. //your track host
    $ k2 c8 y$ n' g. i1 ?+ k" P; @8 ]5 |
  2. var trackHost = "";& o( G. _- \4 B1 H

  3.   ?6 M0 D( T. _7 Z# C2 S/ q+ ^
  4. /**
    4 e" e, @0 d' }9 f) e9 E. ^
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一3 I8 z$ N& {, e
  6. * 使用方式  直接调用jsSuportCheck()
    ; `* I( l' a" X' K3 q" F
  7. *      1.trackHost 指向你的追踪器,
    + N- [1 a$ f! K2 x+ f3 o
  8. *      2.修改 event1 为你自己的event/ _8 s2 y; l0 w3 j: |/ `
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    ! c. m: Z: M0 ~$ Q% S# j
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    ! h' {- P  m. @; U- J: a% \% r0 ]1 Y$ R* T
  11. */
    & k% b& c: A3 W8 |6 o( ]
  12. function jsSuportCheck() {
    & b/ S" U; c3 d6 v2 N8 J
  13.     var o = document.createElement("img");* w: ]6 N/ c- J- ~! ~4 j: I7 b
  14.     o.style.display = "none";
    ' g6 z* [' t. V. ]' X8 ^
  15.     o.src= trackHost + '?event1=1';
    9 N/ Z  Q6 B* Q0 w3 o  @0 \7 h( @
  16.     document.body.appendChild(o)
    % q, M& m$ M+ ?* {3 Y
  17. }3 X, K) j2 {: Q0 j# [9 k  I" M* ]( l
  18. : ]1 r% _; U+ V7 w. U* Y, }
  19. 4 u& `& R( q* q7 x* d1 N! Z
  20. /*** T# P6 i/ |0 T$ i
  21. * 2.页面存活时间& P6 X2 @, _6 Q/ E% Y0 C
  22. * 使用方式 直接调用 aliveCheck()$ N# i- l1 J! ^
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event, g, w0 q; F1 c- x! \: I
  24. *      1.trackHost 指向你的追踪器,2 Q4 T, ?6 S' G. r1 q3 E2 B" C
  25. *      2.修改 event3 为你自己的event
    ' S2 V3 z- Y$ `# ]* P* X% u
  26. *      4.追踪器上 event3 = 页面存活时间
    / `- ], m& Q& y5 f/ i- `' Z
  27. *1 ^) e) K( C2 ]! m+ ?( I& x4 ?4 O
  28. * 数据说明:7 o# j1 c" ~$ J8 J$ G
  29. *  1.时间为0' O( N: |1 N) Q2 Z
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    4 Y  _7 U9 g% P; E6 i8 j
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    * m: F! |" h% |/ [) i
  32. *  2.时间不为0
    $ k: `) d1 I/ Y, u! ^
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常% O. E1 E+ I# v: S$ U8 Q9 ^7 {
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题! b8 u: W, `/ Q1 m' m
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以
    0 V- t# C' L9 E( W0 Y
  36. *8 ]5 F& h9 p. _( K- k
  37. */
      v2 y; o& b9 b+ P: Z9 l

  38. + f: G1 Y& b5 J$ x$ L3 b
  39. var times = 0;; A" I3 ]/ Y* K9 \5 m- N
  40. function aliveCheck() {$ V& X/ Z; v- D( m5 J6 R
  41.     setInterval("checklive()","1000");
    9 ^6 E9 a$ O+ S9 j, K
  42. }
    9 g* f  \; q4 o
  43. function checklive() {
    $ I  T+ r- f1 L4 L* Y3 z
  44.     times += 1;( P8 {8 B5 ^: P6 I( \* E. J
  45.     var o = document.createElement("img");4 [5 f. e; f3 o, K
  46.     o.style.display = "none";6 `) C2 f! j6 v! |5 Z/ F
  47.     o.src = trackHost + "?event3=" + times;
    0 G8 v% {4 S- {/ a3 p& K4 ]
  48. }
    ( c- Q5 \" i9 H$ Q- s4 j1 h, L
  49. $ \+ }, Z# D# R0 F6 f9 s
  50. ( d4 u9 I+ y) ?" C  ^: E* J6 b. R7 h
  51. /**& j( y" W+ K4 v& Q3 ?) C
  52. * 谷歌验证% M6 x# c. ^4 Y6 ]+ f! \+ m- y& W
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取: d  ~  k! S! D) w( [2 X
  54. *
    & l% ]4 ]2 F; Y- f' I5 _, R( ~
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    , L$ l% _; `# B, S
  56. */
    3 S/ j& i  D3 c
  57. //申请的grecaptcha前端token
    6 ^2 Q4 R& J2 z* n* i3 h) ^9 G; d
  58. var token = "";
    5 i; @- [8 L7 ?) j
  59. //你的grecaptcha后端服务器地址
    % e& B/ R" t; i% T3 L+ ?& h% Y& I
  60. var grecaptchaPostServer = "";
    9 A% d, F( m9 V1 A( V1 C
  61. function recaptcha() {2 b4 D# ]  {& L* X
  62.     grecaptcha.ready(function() {
    ; \/ R- Y' G3 i) ~  y+ r
  63.         grecaptcha.execute(token).then(function(token) {
    $ Q+ [6 X# t* p; z! M
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    6 F* z, i  g* C! F
  65.             var o = document.createElement("img");
      _8 V' `# ^8 P2 e8 ~) V
  66.             o.style.display = "none";
    2 z/ @9 u  p% O9 t  h0 U( s
  67.             $.ajax({# u6 l8 Y9 M' H$ j, ~1 w' y
  68.                 url: grecaptchaPostServer,
    / ?6 g5 Q, W8 o+ L
  69.                 type: 'POST',- c/ Y7 u1 g# Q; f8 g( ~1 v
  70.                 data: {"token":token,"ip":ip},
    ' F7 w% Z7 @6 c4 v7 O: p9 ]2 {+ P
  71.                 success: function(data) {9 a! l) K2 ~8 y
  72.                     if(data.score > 0.4){- P2 h; [# @  Z0 y: Z
  73.                         score = 1;0 N/ @  P8 i! R/ i3 ?1 L
  74.                     }else{/ q' R6 u& N+ o* R8 G8 L
  75.                         score = 0;$ g  z1 b- F9 P- }0 j, }2 Z! h
  76.                     }
    ' E& T  [+ p6 Z' }
  77.                     o.src = trackHost + '?event2='+score;" g( N( H- h6 u, C- M8 E% V
  78.                     document.body.append(o)
    & P8 Z$ e1 D' _- Y7 l% c1 b  Z
  79.                 }
    . D" l8 ?: K- o3 F
  80.             });' V; |+ s  k/ U0 b7 C: z: J
  81. ( C0 G% N: V( s  `
  82.         });+ R9 t" K& Q0 q- x7 o
  83.     });. [! f1 D! {# A! m" T
  84. }
复制代码
# J$ ^, v  u  P6 [" f* w

4 g$ q2 v$ Z5 e
* b) L% M( J7 P校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
4 T6 z7 ^7 K4 E# ^# s; V. x/ w7 H4 y+ \8 `0 b& \- |

0 S6 v, A% t8 B$ }' C! K/ Z, q0 m' q4 M. t4 ]
- b7 d. x$ Q- y# `0 `8 N3 Z2 \

! m* P6 i) W; V' t0 f5 \7 r) |9 B" ~( y

本帖子中包含更多资源

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

×

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1200

广告币

1615

积分

高级会员

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

使用道具 举报

1

主题

254

广告币

297

积分

初级会员

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-11 22:20:28 | 显示全部楼层
补充下:
2 D- ?1 r& o: R, z- ~; ]今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将* f2 h* ]( u# J: R
  1. var times = 0;" D& B9 v. o, Z3 ~8 t4 v9 D
  2. function aliveCheck() {
    ; E, _" K) Z0 {( d
  3.     setInterval("checklive()","1000");
    ) i: m$ d9 Z  M
  4. }
复制代码

- p3 X+ @; _1 u; ^+ G& h$ [修改为:) D0 y, h8 G: ~& ?% ^7 x  r' K
  1. var times = 0;, A7 n+ X. F+ _- }
  2. function aliveCheck() {
    9 ^) E0 t& C; E! Y3 S
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    . A) K# d( c2 V% z
  4.     setInterval("checklive()","5000");
    ; M5 @' U3 G$ p# H. q1 N  ?" G5 S* n" z- z
  5. }
复制代码

8 O( N9 c) A! s+ E追踪器压力明显降低。。。。0 z% J: O7 J0 u$ P; I
" p2 P( G4 z2 ]( w* T9 w
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

490

广告币

663

积分

中级会员

积分
663
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
7 s* E  M5 q/ v" }1 a3 k补充下:
, \0 S4 F6 o, Y9 p% `/ w! ]今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

4 V, _/ j2 R6 K9 K( k* q; T虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?

点评

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-14 10:16:18 | 显示全部楼层
tonychopper 发表于 2021-9-13 19:41
4 |/ N4 n( h- ?9 P4 a虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

: [5 y1 r* D  V0 m5 V  a& F9 n8 J追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
$ o: l( @- K* ]这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16
# H# W2 ^% U( W$ p0 o( m8 a! K追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。$ i# h% {1 r* Z. U
这个就是js ...

9 K. o) R# P  W1 A* k老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

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

使用道具 举报

82

主题

647

广告币

1201

积分

高级会员

积分
1201

社区QQ达人

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

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2022-1-11 15:56:06 | 显示全部楼层
pitch 发表于 2022-1-8 20:229 C4 m' i0 z2 H! E+ G
老哥能说明白点吗?在LP哪个位置调用、怎么调用

8 _9 a8 Z/ Q1 \. B3 ]- s2 _+ i5 Y放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56
! u2 b3 n2 O: W) J, K放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
) J4 Q  o& y- b5 W, t
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

1

主题

13

广告币

36

积分

初级会员

积分
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, 2026-8-15 17:18 , Processed in 0.069624 second(s), 25 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

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