AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-9-14 10:27 编辑
/ w8 q7 Z1 y/ q* v' Y% C$ s0 b2 F( Z% X2 W3 ~- n
开个头-------------持续亏钱ing。。。。+ I& h9 K2 t4 h9 q

6 ]7 N( R0 e) B# G$ C2 u
/ W$ g# v& e: U# m# U# g$ s这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
8 B$ h5 y" s. Z3 E+ B8 K/ d% U" ]
基本效果么 可以查看这篇帖子
. N' U& j+ k4 {& S! n4 q$ R/ Hhttps://www.advertcn.com/thread-99669-1-1.html% P" A# a% n. X: c0 T5 t
2 b# }1 I5 T8 I- E4 q5 h8 V( q

+ _* N: _/ D  K3 B/ |  ~% P- L但是要强调下:脚本永远只能作为参考和辅助,
0 l0 O7 {' }# y+ Y- G# r8 ~+ M$ l, g% @0 t( E
  1. //your track host
    " k- x- F' q+ Z
  2. var trackHost = "";
    5 A2 E" ^/ N  n

  3. ) P1 k/ A1 h, a* C& w/ x
  4. /**' Q- H, o& s7 i6 |" a% O) X+ c
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    ' U8 T$ W9 k8 y/ a
  6. * 使用方式  直接调用jsSuportCheck()& o8 a: F; i( ^5 \: t3 W* I
  7. *      1.trackHost 指向你的追踪器,
    4 P2 [" g9 u& ^
  8. *      2.修改 event1 为你自己的event
    ) S1 V5 {* L) C" U9 c
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    " U4 U3 k; Y9 V: F0 T
  10. *      4.追踪器上  event1 = 支持js浏览器数量' {5 [# ~: o+ Y$ }, q
  11. */
    # t1 l4 g# a: K) J; x
  12. function jsSuportCheck() {
    8 ~- t4 y8 Y! z& x
  13.     var o = document.createElement("img");
    3 A2 Q# o" e: Z) Y2 }
  14.     o.style.display = "none";
    . D: D# A# r& \: t
  15.     o.src= trackHost + '?event1=1';0 z# A1 k: m$ I5 E" ]3 N# C
  16.     document.body.appendChild(o)* S* N+ `3 ?7 B8 E4 G0 A
  17. }
    . c% C) _! e6 Z8 a& X! z

  18. - ?' y8 I6 G  ?" S# j$ |  S
  19. 5 j2 @5 l' P* t+ P: e, E7 M
  20. /**
    ' G1 Q/ P% T0 I! _6 m8 j; w: m
  21. * 2.页面存活时间4 p6 ]; H! V+ P. Y$ m4 l  |
  22. * 使用方式 直接调用 aliveCheck()
    ! b* E, |3 m2 Q% ^# a+ Z
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event3 p$ r# ^3 _  Z& Z: [" |' f
  24. *      1.trackHost 指向你的追踪器,& y3 x) _( R- s- D
  25. *      2.修改 event3 为你自己的event1 o9 }. M3 P8 [; t
  26. *      4.追踪器上 event3 = 页面存活时间0 K' v4 A# Q# K
  27. *
    / }9 U' ~! \% P& a
  28. * 数据说明:4 {3 Z0 U+ a6 X# [' q' d
  29. *  1.时间为0
    4 A: Q8 E3 n2 b6 }  m
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    4 E! Q) `) y5 y/ U4 ?# J( A
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    2 G) d' L$ C5 p
  32. *  2.时间不为06 g0 \7 X1 l: |! s/ |
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
    / \& b4 D2 c1 J0 }# X9 F5 |8 w
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题' G) ]- y  }: Z/ j/ D7 g/ a" @
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以
    1 \9 c/ M. W: V! o2 h. I/ V
  36. *8 I7 L" U" h/ N& K# N! n1 {
  37. */
    + z) ~4 z& g3 ]4 u  L  D( T
  38. ' `, s! H; \  R6 [) n( c
  39. var times = 0;: d& b0 o: f; h3 N* W
  40. function aliveCheck() {
    7 O: e. e6 t, R# K0 ^$ ]
  41.     setInterval("checklive()","1000");7 n' ^. I+ a( d4 r; f
  42. }8 o2 Z+ a& s& n9 f% s
  43. function checklive() {. o1 g0 F1 v+ P7 }3 R  U
  44.     times += 1;
    " D" y3 I) [2 q8 g
  45.     var o = document.createElement("img");
    3 ^: F: v5 n+ r- d' A# d4 N
  46.     o.style.display = "none";+ m8 ~- a" e) z7 e# n' a9 \2 G
  47.     o.src = trackHost + "?event3=" + times;# i: d9 V& X* n8 `' I0 B4 o
  48. }
    0 f$ u% A# \, {4 O! B
  49. : w. {9 b0 O% {' [* N
  50. ) _7 i- M6 t0 a/ |- h) G
  51. /**
    0 a8 `) K! C* {
  52. * 谷歌验证, D4 s$ ^- O- p9 U1 V$ b; p+ k5 q  Y4 h
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    ' h' f9 x: I5 h& u) w% z
  54. *
    : q4 l) \1 y- Y3 c' j
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score+ g8 k- G; @! _2 @) E
  56. */3 l5 K) o) {8 k( b. m" x) q
  57. //申请的grecaptcha前端token4 y3 u, V+ j; M! ^4 Q
  58. var token = "";
    , |, r1 [2 K  h1 s) b- `. |
  59. //你的grecaptcha后端服务器地址) E; T- s6 d2 I+ d0 `/ a5 e
  60. var grecaptchaPostServer = "";
    4 k% |- w4 d4 e! G
  61. function recaptcha() {& P! O7 n2 ]. \& S& r  y7 x( u
  62.     grecaptcha.ready(function() {
    1 D* M- ~6 m" m  g
  63.         grecaptcha.execute(token).then(function(token) {, s2 N1 h4 i' P( I
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");$ l! Q6 J/ t1 w: \$ k" M& Z2 i
  65.             var o = document.createElement("img");% {- L; k0 T# X* x3 R
  66.             o.style.display = "none";& E  k( u. v5 z  M6 g8 I
  67.             $.ajax({
    ! K* H( o; W$ x
  68.                 url: grecaptchaPostServer,, @. D1 g* e+ n+ t: Q# [1 Y
  69.                 type: 'POST',
    / u$ U; g4 x; e6 X6 i4 r
  70.                 data: {"token":token,"ip":ip},
    6 ^: w2 F0 b% c- ?4 `& l! [
  71.                 success: function(data) {
    ) Y! m! ~- g8 T3 [: O0 @& N
  72.                     if(data.score > 0.4){
    ( i8 V3 z8 H4 \' Q% d6 _$ F& s1 Z
  73.                         score = 1;' n0 S0 J- k7 d/ J+ D" h$ A. I
  74.                     }else{
    3 u1 |( c9 j( T% @
  75.                         score = 0;
    3 g; @4 z5 F+ e4 u  p8 W* r4 N
  76.                     }
    , A$ b6 v6 V8 \% L
  77.                     o.src = trackHost + '?event2='+score;
    % F( D" m* Q# e9 _
  78.                     document.body.append(o)
    6 e3 {2 C) G5 }5 f* I! m1 c% E
  79.                 }
    , T4 m' ^1 p# n7 n
  80.             });5 _# b) o% Z) t  m; U
  81. / @  p; e: `! P% O8 }
  82.         });
    2 z) [7 V" A! x5 G2 B  b
  83.     });& G0 g% m/ ]4 r! ^9 s
  84. }
复制代码

( ^- n, b4 n, J$ a4 m4 v8 ?- G; @: z
5 m& u% @. R: U, v4 W5 q. C
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
0 T( j. I  Q5 m
) ~6 v0 ?. z: @. w+ Y' E3 Q
  P9 |/ R7 N# ]/ T2 |2 S' _, A9 {0 I7 A! C! P" m7 A
$ x6 F* J, j& u+ _+ M
* T) u+ ~' S" Z6 {4 d

" {! [. r1 m3 d/ W4 O- |' u; d  F

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

863

广告币

1258

积分

高级会员

Rank: 4

积分
1258
发表于 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 | 显示全部楼层
补充下:) s6 h/ E' L: r0 `- S# f
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将& K# p7 Y1 z, _5 ]7 e
  1. var times = 0;
    * ~+ `. d, a( S, I6 O6 _
  2. function aliveCheck() {# I* Z& p7 J9 i. Z
  3.     setInterval("checklive()","1000");
    % u$ h' `% j7 M# R3 V. p+ b7 T
  4. }
复制代码

1 x5 W9 K$ Y: M1 D# B, C修改为:1 O% b" ?1 [  q
  1. var times = 0;
    & f* j9 \# r5 T
  2. function aliveCheck() {/ E8 w3 W: I; _! ~; t' Q
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    * X% h& M* r8 k3 ^3 w' x0 X
  4.     setInterval("checklive()","5000");
    4 j0 R- h2 }2 ~4 W; k" o
  5. }
复制代码

' J: J0 L; C* u# N& x% W& k9 G# o5 @追踪器压力明显降低。。。。
8 p& }5 ~0 y, q! Z4 t* ~5 W& `: n- Z3 J  [& J8 q8 |9 `" B
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

481

广告币

653

积分

中级会员

Rank: 3Rank: 3

积分
653
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
9 _  R8 I$ C7 g& r1 z1 L6 h补充下:+ @: w9 q1 n: O0 e$ d3 @
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
* v5 r' w7 S' l9 g9 E& j, L
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
' B( i; T6 j, n% a. U虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

) D0 e; W- |; S. f追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。( s7 X& @/ N* E
这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1138

广告币

1722

积分

高级会员

Rank: 4

积分
1722

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16- m5 g3 n6 [+ j5 r7 ?
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
% J# W) g& v: s1 [* d  _  k( `这个就是js ...
' v% `) ]4 q# G( v5 a
老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

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

使用道具 举报

82

主题

642

广告币

1196

积分

中级会员

Rank: 3Rank: 3

积分
1196

社区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
, j/ K  _2 R$ A( D老哥能说明白点吗?在LP哪个位置调用、怎么调用

+ B* P$ K4 h% ]' z$ [; y. ^/ r6 B放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1138

广告币

1722

积分

高级会员

Rank: 4

积分
1722

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56) ~) O4 u, u3 F0 P" r7 n( k2 L
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

6 m1 f1 E( z; c4 H1 h. D- ~; H谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-7-12 11:04 , Processed in 0.050989 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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