AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️AdsPower:安全不封号,高效自动化Mediabuy⚡️玩家开户首选
【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️Taboola/Outbrain /Bing⚡️一级代理
开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放FB BM不限额,短id账单户
E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN
7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款Facebook 批量上广告尤里改 - FB 稳定投放
免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户
FB资源,账单户,分享户,国内一手FB企业户,TT老户,GG老户源头海外CL企业户源头PTM全球虚拟卡—进来交个朋友!
PTM虚拟卡⚡️费率透明⚡️额度随心FB虚拟卡⚡️消费越多返现越多【找量】BA独家Nutra单找量虚拟FB卡 ⚡️ 透明条件 
国内外持牌,虚拟信用卡和收付款广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 13258|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-9-14 10:27 编辑 * m) B% D' [7 M  s2 w. m' A& r
& A1 s! M0 Q+ A8 E
开个头-------------持续亏钱ing。。。。9 U, x0 N, ?6 Y. e5 Y4 t  f
  p+ V) E- E6 y

7 F  r3 h, v1 _. _2 m8 ?这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
" ^. C% D, \  `7 @* a
3 d) d; ~5 b. A  k基本效果么 可以查看这篇帖子
% i3 o! `% j3 t( k- w$ Hhttps://www.advertcn.com/thread-99669-1-1.html7 I! X) f7 d# z' f

  q/ d' M  ]# j' ?3 x  q1 a; O& n: O* F( L, z; u& G
但是要强调下:脚本永远只能作为参考和辅助,
5 i/ ~6 V, G" x  c8 F4 C7 ^: o" N# L2 Q3 b1 l0 P# e' Y
  1. //your track host
    1 O9 a" W9 W* G
  2. var trackHost = "";# r0 Z7 l: Q: \& T8 F1 f
  3. - }3 J5 L5 c6 U: L4 w1 E
  4. /**7 z/ q8 T1 U7 |% ]: w
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一4 k: d- o; i: ^- d
  6. * 使用方式  直接调用jsSuportCheck()1 \' W2 }; X; [0 R! i( h
  7. *      1.trackHost 指向你的追踪器,- l: J3 M; A2 \6 C) L" }
  8. *      2.修改 event1 为你自己的event: D; t  i) ~6 K3 V/ v9 k
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的): l+ i+ `& k% S9 N! @2 \; \* z
  10. *      4.追踪器上  event1 = 支持js浏览器数量* d) M2 V" e8 V2 n$ T* ]& A# L
  11. */1 _- F( ~0 K2 Z3 q/ _
  12. function jsSuportCheck() {
    * ], |8 y9 S/ Y! U: y# I
  13.     var o = document.createElement("img");
    % {1 v# |. Y2 x# w/ |: L
  14.     o.style.display = "none";# q; y0 U$ B# M  P
  15.     o.src= trackHost + '?event1=1';( G  b' i! E$ ], E
  16.     document.body.appendChild(o)' A; n6 y/ G" u
  17. }0 W& Q, E& m5 a$ b' K# e4 [

  18. % ]; W$ p5 @1 k. v% [& X

  19. & d6 I1 d% N8 W$ Q. X' a; Y
  20. /**
    3 G3 s. o% }. M% @' W9 q
  21. * 2.页面存活时间' `& \! h4 d. S. M; @
  22. * 使用方式 直接调用 aliveCheck()
    / f5 H& B# y- X. H8 Q# e* B. E! R6 u' V
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    & ^. H6 H8 Y/ E' _  O8 a# ^
  24. *      1.trackHost 指向你的追踪器,9 B* R5 M9 h  I9 s/ n2 X: z
  25. *      2.修改 event3 为你自己的event
    " W2 ?1 [: d2 j5 I% [6 J
  26. *      4.追踪器上 event3 = 页面存活时间0 n) @8 }  ^7 s* v- N! v
  27. *: Q1 W7 X- i6 Q% w  `9 K
  28. * 数据说明:2 B* O1 n. @. C; m, v' n
  29. *  1.时间为0
    " {: Q/ z' O3 q, D& c* K
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)1 a+ Q* W0 c9 o* @( C. X
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    7 ], g( H+ c5 G/ s3 L7 j7 ^
  32. *  2.时间不为0
    1 k0 i, b6 u. X, t: ^
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常3 `; ]  H5 J9 c
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
    + }* Y; \6 c* j6 Y
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以# F# X  l/ k' C# o% {" V
  36. *  z% H, M: t7 c5 Y  g$ {' y
  37. */! G$ u( X2 b4 i+ ?7 |# f

  38. ; _* S( z2 @! Y
  39. var times = 0;
    8 T5 t% @& b1 V# A% ^% K5 `" C
  40. function aliveCheck() {2 x# s7 R6 _2 G
  41.     setInterval("checklive()","1000");
    ! T; @( J% g1 q
  42. }
    2 W/ O4 C  s3 E5 N/ v3 V
  43. function checklive() {) M! J: H4 e" s% t
  44.     times += 1;
    ; Y) v2 h$ {: @1 ^( x& f- c
  45.     var o = document.createElement("img");& P: i9 R  B+ P. [  @1 R' M
  46.     o.style.display = "none";
    3 I* g2 g# E% X, e
  47.     o.src = trackHost + "?event3=" + times;
    ; A2 U2 g$ W) ^8 j
  48. }$ K) w1 K% z: ^  Z5 M

  49. 9 K6 v9 v* X3 n1 T0 {& S
  50. $ B- Y8 y! l  c3 |
  51. /**
    / B1 v3 p* _7 X8 k. d6 K/ ]/ O$ j
  52. * 谷歌验证
    2 h( Y' U- U' t6 F: h2 c
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取8 S$ S* B! u$ H. Q4 ^0 @) e
  54. * 7 L2 P7 @/ i- a$ X6 ^: O9 @# e6 {* y
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score$ U5 C. X; {+ `/ I2 m8 T' v
  56. */' [( A0 Y9 g; M# g# a/ K- k
  57. //申请的grecaptcha前端token- X4 O+ U8 V# J2 ]7 w4 F9 O$ q( t
  58. var token = "";* C. q+ @+ t" _4 f9 D8 c
  59. //你的grecaptcha后端服务器地址
    8 q( p. J5 E/ l' e
  60. var grecaptchaPostServer = "";
    ' x4 E9 q! ^1 j* c9 p& o- d
  61. function recaptcha() {( K# o2 R, @# k
  62.     grecaptcha.ready(function() {
    9 Y9 z1 c" }& S2 f! o+ G: E" r) m
  63.         grecaptcha.execute(token).then(function(token) {+ K5 R( _" W) |2 a. o' I9 ~
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    7 X7 @/ w& C! U" Z& W2 N0 L# Y6 D
  65.             var o = document.createElement("img");
    4 K3 x- i" v8 Q. p/ `
  66.             o.style.display = "none";
    8 g; r7 r2 }  b
  67.             $.ajax({
    ) z) X: F* a# D3 u+ _  W
  68.                 url: grecaptchaPostServer,, i  e0 ?7 b, Q4 I% c
  69.                 type: 'POST',
    ! C6 Q2 |4 L3 z* L- X- D7 e
  70.                 data: {"token":token,"ip":ip},
      \" K  K9 R; `0 W( X. V
  71.                 success: function(data) {% p8 H6 @! M% W0 o2 J8 D
  72.                     if(data.score > 0.4){
    1 |. i& O4 o) b- l" v( g
  73.                         score = 1;
    0 J5 m9 g7 i; A" O& d2 L
  74.                     }else{
    8 N# ~7 r* g2 L' ~9 x; a/ U( N
  75.                         score = 0;8 X0 g1 u$ ]3 f4 r: r
  76.                     }! _6 d% w0 R$ d6 F
  77.                     o.src = trackHost + '?event2='+score;9 `; N% \' {$ @; y
  78.                     document.body.append(o)& Z6 `# r# j4 f8 X
  79.                 }
    9 L9 H1 [- {" F& S
  80.             });- Q% i2 G$ U4 u
  81. : O8 C$ Q4 w# Q8 I5 x
  82.         });
    - b# V1 G, R8 n- ~& z% a
  83.     });9 p' _' b8 \7 W  j, W
  84. }
复制代码
! s6 |$ \5 k2 }% V+ G5 P6 i
& i! P7 v  |) j1 M( ]5 h5 z
4 e7 p2 _" H( B% M3 f# Y
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
+ L2 N2 a# k/ M* h
$ \% e6 B0 T; R4 V: `/ k& ~
0 H9 v2 D4 M  F8 I$ m0 r% F: ~1 S1 @9 s) h& O( q0 c& n2 @8 {0 _

& q: ?$ ~' u' m
/ B8 C# N) G: A7 Z& l8 w; m$ _1 j8 J" W3 Z- a3 }5 _

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

900

广告币

1296

积分

高级会员

Rank: 4

积分
1296
发表于 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 | 显示全部楼层
补充下:
, ?* E* e# t. A( l今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将/ N4 n+ E8 X7 |0 S" B3 W( c0 T
  1. var times = 0;8 o1 w: v, {, G
  2. function aliveCheck() {
    4 ?# {' _- i4 t( O! _- X  W
  3.     setInterval("checklive()","1000");
    2 I1 h3 D+ U) g% z' e$ o
  4. }
复制代码

4 u1 O( J: x: Z# N% N) v. ~% U修改为:* G) ]0 x; \: H6 E5 I
  1. var times = 0;. Y; C9 O+ y8 c/ M1 j) y
  2. function aliveCheck() {
    + A0 u, ]* k: u  e9 F6 H2 z
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s7 J' S# I& z6 q; g* S" a
  4.     setInterval("checklive()","5000");' x+ }/ w! s1 Y# h4 ^! e7 A6 o
  5. }
复制代码

8 K1 @8 R( s: t* m追踪器压力明显降低。。。。
7 Y& y, Y8 [  g0 u+ [+ g6 M$ _+ {! d( }5 C. w9 U# d
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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( I' o! t& ?$ I, s. L& Z
补充下:: c2 [$ E  `2 j* |
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
" m( p7 s# V+ N8 M/ V$ L: l3 N
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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, P8 s, I; v! k0 a! C
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
) C* T, O$ i/ H/ R- T, i% M5 j! P
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
0 W" Y3 h' U2 ^6 c6 {" G; R# l这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1143

广告币

1727

积分

高级会员

Rank: 4

积分
1727

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16" H1 y8 j# V7 O7 k, f+ E
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
/ d" G+ @! s% L& \2 u这个就是js ...

6 [  @- d/ [; B& ^+ 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: S8 b5 h/ Z; ?. i& a- Q
老哥能说明白点吗?在LP哪个位置调用、怎么调用
" t; X# T0 b7 ?( b7 a3 J
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1143

广告币

1727

积分

高级会员

Rank: 4

积分
1727

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56
, n9 d3 q4 {; g放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
+ b* V$ |/ C9 j! f0 p8 m: p2 J/ N
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-8-24 12:18 , Processed in 0.072937 second(s), 23 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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