AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️AdsPower:安全不封号,高效自动化广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
FB BM不限额,短id账单户E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户海外CL企业户源头
FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量->Tyver SPY汇聚海量广告创意高质量代理⚡️住宅⚡️移动
原生住宅⚡️双isp⚡️适合跨境电商TK白名单老户|兼职广告可投Miluproxy⚡️全球住宅IP代理Top 3联盟收款/海外资金下发/服贸结汇
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 13434|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑 % w' {$ p7 Y; p+ m
3 F$ M1 l$ ~5 X0 M
开个头-------------持续亏钱ing。。。。6 j9 u% Z8 U0 d/ J8 g7 s
6 x5 T, ?: o- n. O
2 K& ^" N7 ~" X2 ~! r. j
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
* S  I: S* q7 E+ f# l( L* L5 S
4 ]2 u' B" e& ]% b: q* _+ K+ C7 p基本效果么 可以查看这篇帖子
1 u/ C) g( W6 L6 q) u3 o; Jhttps://www.advertcn.com/thread-99669-1-1.html0 `9 _6 @/ y& H9 q2 ?1 K; C
' v* u* |1 L; U& K9 c3 U7 i

: U0 t: }# G* h, K; `但是要强调下:脚本永远只能作为参考和辅助,; Q' d0 N  P8 Q/ O% ^% T9 h3 x

  v$ m0 x1 {- C( W
  1. //your track host
    6 s' Y5 |$ X* u5 q" K
  2. var trackHost = "";
    8 S; b) Z/ E# b

  3. " \; M# f' k% j# }! v7 K2 @7 K7 w
  4. /**
    # ]; ^$ k3 \1 |( q
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一8 I+ @- S2 @; Q/ e
  6. * 使用方式  直接调用jsSuportCheck()) }) `: Z" Z* f* B+ Y: V
  7. *      1.trackHost 指向你的追踪器,
    2 L2 I4 z4 N3 V5 e
  8. *      2.修改 event1 为你自己的event
    $ v  a4 J/ t; g! e( k* C( g4 H
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    0 I2 w$ O: h5 R/ _2 T; f/ ^
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    * i" w+ I0 _% L7 d1 Q3 V/ @  `
  11. */+ C) n/ N7 I( ?% G- g, F
  12. function jsSuportCheck() {  ?. `1 j: g6 a. m: p* D' t
  13.     var o = document.createElement("img");4 c: ]9 l# A. n
  14.     o.style.display = "none";
    0 ]0 U+ U, {* r0 {, r. A3 G$ x! Z: Q
  15.     o.src= trackHost + '?event1=1';
    - R+ ^) ]# p7 C4 D; t
  16.     document.body.appendChild(o), ~5 V& m. D" [7 j7 ]& z# ?5 _" W( H
  17. }8 ~1 ?6 L' I1 \: o5 ~7 f

  18. 6 A1 A# B/ n1 l& q  g
  19. 6 r& f9 s, y1 H& a
  20. /**
    # t! |/ ?3 }- b( C# l
  21. * 2.页面存活时间
    5 o1 n$ ]1 s# {+ A, T; m3 o
  22. * 使用方式 直接调用 aliveCheck()
    ( h; v! x$ v; Z; q0 p" Q2 s8 F. \( p: w
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event: X/ d. U  @3 t# ]( e
  24. *      1.trackHost 指向你的追踪器,0 S6 d2 E2 r: ?! _3 I( @0 |4 w1 _2 c
  25. *      2.修改 event3 为你自己的event
      k5 U; e8 S6 Z+ ?1 m# ~% U
  26. *      4.追踪器上 event3 = 页面存活时间' ^3 `- w9 m. q- {! p
  27. *
    * r% S8 V6 o+ I" L( E& q
  28. * 数据说明:0 D" k- D+ R) g2 W! \* c* A# }" H: `
  29. *  1.时间为01 n+ [. i6 R% [1 T' f9 G% j) v
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    ' ]# m8 y! H4 V0 P+ l# W
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    8 W: }$ u! p# ~) E+ Q8 |
  32. *  2.时间不为0* a" ^: B5 x) L- H% h, D
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常) x3 _# U# ~; s: v, F- P: g5 e
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题4 F2 p" O& w2 _6 L5 e( z- L
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以
    2 }9 T# J1 s3 T- ]: g: p" Q* T3 }4 Q' o
  36. *9 c/ l# @" B; L# [% I
  37. */
    $ q1 W5 ^) T& Z: o/ X6 a

  38. 1 C% k! p. s7 F/ O/ |
  39. var times = 0;
    , a( k) d9 ~% k- f
  40. function aliveCheck() {5 K( {, {+ r4 F" _- G: |6 S
  41.     setInterval("checklive()","1000");# d& C! n3 F) D  T! {. [
  42. }6 X8 T0 o2 T3 a: m- |: I
  43. function checklive() {
    7 N2 q- X7 B- |; u% Q
  44.     times += 1;! f+ R+ P5 ]' p8 g' L: K
  45.     var o = document.createElement("img");6 w6 ^! U- S/ a
  46.     o.style.display = "none";1 t! [  a# O3 [
  47.     o.src = trackHost + "?event3=" + times;
    8 i+ D( U. @; y3 H- E, M5 D" w8 G
  48. }
    5 B' L2 C& d5 S/ V+ y9 U

  49. ) w8 A1 t7 v1 x* L6 f9 D* X

  50. % }# \# H% D* _5 X( ]
  51. /**
    + D. i' p$ l: a+ M: J$ s( L  J9 {
  52. * 谷歌验证
    ' c1 A$ C7 h7 P1 y3 u
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
      z% {% l% k. Y% _1 E0 m% k
  54. *
    8 M5 R& m0 L  S
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    ' e$ L# Z) x' o% g) r( t3 i! h0 O/ B
  56. */
    : W; L7 I0 Q6 r# f& |
  57. //申请的grecaptcha前端token; ?- H+ D& r. S4 k0 }/ ?
  58. var token = "";2 H+ d/ s: q9 r3 Z" q. P* s" N8 C0 b
  59. //你的grecaptcha后端服务器地址$ W2 G9 N6 @5 H) l0 H. A+ k
  60. var grecaptchaPostServer = "";! D; q/ {$ Y7 q/ K2 k
  61. function recaptcha() {5 O' w( L2 x/ m# C% Q2 o
  62.     grecaptcha.ready(function() {
    ( ^4 k7 h# B1 o' C! X
  63.         grecaptcha.execute(token).then(function(token) {
    6 N5 c# u7 u; q1 }6 s0 O9 @7 z8 i7 _
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    , p- U. f- i% [# x
  65.             var o = document.createElement("img");5 q9 x2 [: O2 ]
  66.             o.style.display = "none";
    4 Q( l' v& a# u
  67.             $.ajax({  G* Z3 E8 Z* @* z
  68.                 url: grecaptchaPostServer,6 f/ ?9 G' A5 j5 |
  69.                 type: 'POST',* K- J1 B1 d4 P, z  `
  70.                 data: {"token":token,"ip":ip},
    ) [7 d, p4 m# H0 a! j  w5 T/ F
  71.                 success: function(data) {
    , m5 k* Q) ]1 }6 k, G- t7 d
  72.                     if(data.score > 0.4){; e+ u( B- i! f6 k
  73.                         score = 1;
    , E$ Y- H! `5 a7 q
  74.                     }else{
    6 J5 k- N. Q1 L5 Z/ a, c' w- P" A. v7 m
  75.                         score = 0;
    ) [; I# S! I  @4 C6 |$ [5 K7 D5 N
  76.                     }
    $ A) `0 b+ N3 ?: P
  77.                     o.src = trackHost + '?event2='+score;
    : u5 v; d& @6 s% J8 V7 N- j
  78.                     document.body.append(o). i5 x% }+ |! M
  79.                 }& h5 m* I1 N. G
  80.             });
    , o! e" s- s0 p, R. H
  81. 9 d( g. |& w/ A  `0 ^0 |+ i* y6 p
  82.         });. V0 Q, }+ H+ {. {+ C
  83.     });* d1 J' \0 ~0 Y- v9 m
  84. }
复制代码

0 S2 S$ H( F4 c' E
: ]7 M# _6 M; f1 b/ i* u7 \
2 {5 b  s1 }9 z  X. [% C, [校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可, `. J8 y' ~" ?% l' m
9 U! e  o, _0 o* I

# a  S, x& e& [- w7 Q2 ~/ z( F* {; S2 |1 J  ~' R
9 J! A, p" L$ i" F6 B
+ l& w2 z/ c8 s
! j, G* d! Y9 g4 v. }

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

970

广告币

1367

积分

高级会员

Rank: 4

积分
1367
发表于 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 | 显示全部楼层
补充下:
, A. c1 i7 V; J/ n今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
+ X0 P$ U" L6 W
  1. var times = 0;5 Q  w! J5 `; K
  2. function aliveCheck() {3 |- k0 W- ^% P; Z1 W
  3.     setInterval("checklive()","1000");
    ' t' Y! ^; b  V5 L$ R
  4. }
复制代码

& Q5 H9 A0 ~% Q修改为:4 j; ]0 k) K6 `1 U
  1. var times = 0;/ \" [5 y+ D7 i
  2. function aliveCheck() {
    0 g9 Y# y$ |( D
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s4 `1 j  E% |- v) U0 r7 e( a
  4.     setInterval("checklive()","5000");* c* H  m* g/ l
  5. }
复制代码

+ l7 x+ d" Z. B" E追踪器压力明显降低。。。。
+ _2 d) b2 X2 `+ h% N3 D4 q3 }( Z1 T* _" p4 N1 I8 G8 E
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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
0 R! S8 h  k& }& t2 o补充下:
- z3 L' c/ Z$ P) I8 T: j今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
3 s2 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
: @( D, Q: ^' c$ }虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

! T2 X4 n  x0 e1 G追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
/ x8 q: `" `/ j. U这个就是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
. w& t1 U( t; b9 E  ^6 p3 o追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
! w' m( v1 ]$ E7 e" }( C1 r这个就是js ...

6 X% \2 a8 C, E! |! m% g8 |老哥能说明白点吗?在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( w# |( X) c: O3 P
老哥能说明白点吗?在LP哪个位置调用、怎么调用

  x9 s$ a8 r- F3 R# P放在头部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
* \4 j7 W  f" S: t9 |放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

% [# r, u" ?( b$ ?谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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