AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理各种主页、账单户、BM户(优势)
⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISPFB海外户、GG老户、TK加白老户海外CL企业户源头
PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量FB稳定代理/住宅IP/ADV50打五折
FB个号1块一个TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区跨境债务催收/风险代理
高权重Google老户[卖户+筛户等级] 海外斗篷【智能风控】,过审率95%+广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 13673|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-9-14 10:27 编辑
* q' t7 y+ L2 P0 O  C1 J9 P1 j4 p7 J# x3 d
开个头-------------持续亏钱ing。。。。
( @: B, s; R3 `6 O3 V+ Y; L" Z" n; i- `
, e% U  J8 t1 Q8 b
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
2 o9 D( q* o9 e; g5 r+ c, L5 S; C. \5 y! L
基本效果么 可以查看这篇帖子# ^% z' w* b7 ]. `' V
https://www.advertcn.com/thread-99669-1-1.html
! B+ B8 v+ a& i+ ?; E  t; u
: ?* R$ a: u/ @. o% s( m: ]9 X3 F
' K4 C8 `+ `2 t2 A' j但是要强调下:脚本永远只能作为参考和辅助,8 D- G7 E$ O! @( E# E

: b' r  Q7 F5 @; V5 O) D  F* m
  1. //your track host
    4 Z2 E- w8 X  e6 m5 Z- J% V' b) {
  2. var trackHost = "";/ ?% C5 H& v, t% ?  q
  3. 2 |7 H$ c& ^8 B, P
  4. /**8 H) Z2 U! @# F% ~6 ~8 ^8 G
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    " K+ Y9 C/ j" w" }; k4 X
  6. * 使用方式  直接调用jsSuportCheck()
    $ S, Z6 [! e/ ]9 R4 K
  7. *      1.trackHost 指向你的追踪器,
    1 S; s8 [5 p( u( u& B9 R  x1 g2 M
  8. *      2.修改 event1 为你自己的event' w3 Z9 Y6 j, f( w, H) Q+ X  u
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    : L! x; L2 i$ v/ p1 v" V! K
  10. *      4.追踪器上  event1 = 支持js浏览器数量. e2 @5 X9 t. b$ s  Z* o
  11. */
    1 D" |: W: ]' q# w" e: q
  12. function jsSuportCheck() {
    0 s# L* a! x6 M3 ?) h2 p
  13.     var o = document.createElement("img");
    0 C" Z! w6 T$ l5 A' |1 Q- r; d
  14.     o.style.display = "none";
    $ r2 Z, N. g  V, n2 }/ s' l, n4 d
  15.     o.src= trackHost + '?event1=1';
    9 f3 c8 x  J  i
  16.     document.body.appendChild(o)
    - b8 s( E' W6 Q) X6 `; P
  17. }
      \( S& V# B9 D6 c6 l9 m/ d# c' f
  18. 0 B+ K2 d$ [. W4 d6 r: Q7 q
  19. # V4 {& O5 V+ E
  20. /**
    ' X  ^6 i) f. ^% f+ M3 s
  21. * 2.页面存活时间+ q' X  T* e( j( P# N0 q
  22. * 使用方式 直接调用 aliveCheck()6 `4 t' I; V5 R& [
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    3 J7 k  B% k) Z0 m
  24. *      1.trackHost 指向你的追踪器,2 A; e2 z' C& I2 _! K' l
  25. *      2.修改 event3 为你自己的event2 A% v- K8 @0 m6 A- e
  26. *      4.追踪器上 event3 = 页面存活时间! l# C0 P2 @1 ~3 U0 p  Y4 l& p1 j
  27. *
      a- [# T0 F2 n" [7 j8 R
  28. * 数据说明:
    7 F) L7 X3 i8 b6 V  ]9 Y, S
  29. *  1.时间为0& z. W) p9 @: _- n' w, W4 A) N8 M
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头). X! R2 C9 x! v
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    3 F3 _& j; O7 \
  32. *  2.时间不为05 v' l/ m3 O, f$ j
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常# l% T# n0 X, y, b
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题( U6 a6 d  W/ y
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以
    . O. }- B% u* `( \/ e3 u
  36. *
    2 {/ f4 s: ~. g5 n
  37. */
    - a8 E) t+ j/ }7 ?* P0 X
  38. 4 B8 t. C6 D1 g9 ?) k( v3 f
  39. var times = 0;
    ! c) |$ i6 |7 P* L5 R8 V
  40. function aliveCheck() {& W( w' y  B' c( D4 Z. w) I, H; j, z  S3 v
  41.     setInterval("checklive()","1000");
    : j5 v) e& z: X0 q7 E# M/ R
  42. }+ f& o$ J4 q" Q
  43. function checklive() {: p. J, ^- n( i# }; o7 I. P* S
  44.     times += 1;
    . B8 i9 d, G, O( Z, ?- m
  45.     var o = document.createElement("img");/ u, k( _9 X( R' \8 y
  46.     o.style.display = "none";% i( e& t+ K/ R: y. F# V: _
  47.     o.src = trackHost + "?event3=" + times;
    0 j" l* s  O8 Y, y9 {
  48. }
    ' I/ z5 D& ]: c( \% c; F, ~

  49. 0 r9 o2 U: G7 C( F$ A4 n: H( |
  50. 2 A( t0 ]& u% U: x9 q8 E- w4 H+ W
  51. /**+ {  Z: g% X6 {2 V
  52. * 谷歌验证
    / y" t8 b2 \8 Q8 Z2 Q2 ]
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取0 H1 l7 n7 `* u
  54. * ( ~- g4 v8 n( g+ }
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    9 ?8 M; Z" r( L: {( v' x
  56. */' ~4 _, Y% Y, E
  57. //申请的grecaptcha前端token
    / u3 z! {3 ?% H1 }8 x
  58. var token = "";* q& l. R! b- \" d" D6 S5 y
  59. //你的grecaptcha后端服务器地址9 ?  f; V& \' I" B% s0 E) w# |
  60. var grecaptchaPostServer = "";
    9 W$ v) X# S5 J4 k- t
  61. function recaptcha() {) F7 B/ Y/ \7 V& N; a* H8 U3 S+ t
  62.     grecaptcha.ready(function() {
    # c4 D( @! }0 s4 P
  63.         grecaptcha.execute(token).then(function(token) {" S( K! Z1 Y% ]
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    . v" w! y/ v7 P% f+ }* F8 n% Y
  65.             var o = document.createElement("img");0 o2 Q; P; N) d9 g9 J
  66.             o.style.display = "none";
    8 {: S) P9 `) @1 E
  67.             $.ajax({2 i7 A3 c9 _; t( T( _
  68.                 url: grecaptchaPostServer,
    . P9 K7 B2 ]7 j, ^0 Z
  69.                 type: 'POST',
    - t* B$ }4 U. h* \, s
  70.                 data: {"token":token,"ip":ip},
    % I4 v! s7 l6 C( b' c) D
  71.                 success: function(data) {" E) z$ b8 N0 _& }
  72.                     if(data.score > 0.4){
    ; ~+ G2 V* G  a. F( ^- X% C5 Y
  73.                         score = 1;: T+ G3 |" o! w& z
  74.                     }else{
    # v1 B" @2 `4 F: l8 Q1 P
  75.                         score = 0;4 x. ^% S8 Q8 J3 Z* v% s/ m0 \9 {
  76.                     }' I$ Y  y2 F, o) j+ L5 L+ q* t1 T
  77.                     o.src = trackHost + '?event2='+score;! [& b; L0 z3 W* g9 d7 Q! S
  78.                     document.body.append(o)
    ! w2 D+ r7 d, ~! a
  79.                 }/ s' L% ]2 t  b' Q8 D: z) P' R) |7 O
  80.             });
    0 S* X$ u- f" w0 _0 g7 |' c2 Q2 O

  81. 7 n" w5 t( N' D& ~
  82.         });
    * o) x7 S8 @/ q
  83.     });
    ! a& r* l( C/ D0 G& X
  84. }
复制代码

1 W3 e7 e  V' f9 C% q5 P! F8 H$ F3 }1 o9 U- U% |1 ?. J
. N. n4 e, Z% I/ q+ i
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
3 ^% b) W8 [) K' m( ~
% e' N2 J0 }0 d1 E/ Q. K* z2 v3 h7 n# M

- c5 r) n4 [% F( F+ A
5 N, Q* ?2 v8 \8 O$ V% |6 ?& Q
/ u" [, M+ V  f: V3 D- d* j/ q5 h+ H8 |$ S

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1055

广告币

1463

积分

高级会员

Rank: 4

积分
1463
发表于 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 | 显示全部楼层
补充下:# g9 |8 \: H* Z& v: _# }# Q0 T
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
% \, C8 y* c0 [  I
  1. var times = 0;4 t# @/ o& D- O) o; l; z
  2. function aliveCheck() {' {8 C* o/ V% }3 M- Y
  3.     setInterval("checklive()","1000");) ^/ }) {% O9 {; R0 e9 j
  4. }
复制代码
! q& T. }0 V, S; ^- i
修改为:
' E2 Q5 i1 k6 K
  1. var times = 0;
    . b* u0 P" n% J: u& B+ E
  2. function aliveCheck() {$ D; X9 {7 a! O1 ?1 @- t
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    , Z* `2 }5 P6 ?. ~4 B
  4.     setInterval("checklive()","5000");
    7 ?# g& h0 E4 M0 e
  5. }
复制代码

- q! B. Y+ r0 z0 v) \% A: S5 c追踪器压力明显降低。。。。# ^3 P, n+ p; s0 h
, [$ y! v; y0 D' X& R
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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) ?" g5 ~1 L; K( I4 m9 y+ \6 W! Z- G
补充下:. h& w9 ?+ i; J( U/ q
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

$ ^! @4 q5 {; t/ x, {: P% d1 s虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
7 ^$ T$ B5 f/ W/ [* M- X6 w1 a虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
& `- G2 p6 P: Y8 x: d$ z
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
1 \2 v# Q5 Z5 F' v8 D  [这个就是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
# L* w/ z- i! y# C追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。9 i# H7 b1 J+ l
这个就是js ...
0 M4 i# W4 K$ j1 [
老哥能说明白点吗?在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  ~$ C& D1 K7 n8 a  I
老哥能说明白点吗?在LP哪个位置调用、怎么调用
5 n! B& V& Y& s$ ?
放在头部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
1 z3 Q! _& ^5 P6 l# T& `! V放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
% _: ^2 A2 n# z% M/ u- r' r
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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, 2026-3-15 20:04 , Processed in 0.054496 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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