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代理全球虚拟卡, 支持U充值
各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISPFB海外户、GG老户、TK加白老户
海外CL企业户源头PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量
FB个号1块一个TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区GG,FB,TK, 欧美源头, 欢迎合作
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 13645|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-9-14 10:27 编辑 ' b/ V" \0 w" ?( N" U- S$ ?) L

+ ?4 N0 ]5 U1 M  w* S, o% V3 T' z开个头-------------持续亏钱ing。。。。* f' j% i8 Z0 c& s- {

2 Q! d  f3 F4 |( O$ |
9 A$ t% U, e0 ?% R9 Z这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。8 x$ R2 b: w8 m1 S5 M- }
) z7 j2 g: q$ p; G6 o1 o( {' m2 ]
基本效果么 可以查看这篇帖子( F; T% t$ `# {: u2 L5 k
https://www.advertcn.com/thread-99669-1-1.html
3 Z  B! B. y0 |" B/ U+ R
& Q! J5 `* f) n0 ~& v4 X* }6 @, F9 ]: S$ ?0 Y1 H
但是要强调下:脚本永远只能作为参考和辅助,
; ]7 H/ K( t4 ^$ K5 }
( q; W  w" i1 g4 ]  g
  1. //your track host) R/ y5 g- W/ v; v
  2. var trackHost = "";
    ( X- K5 |# N5 a2 H$ t) R: E

  3. + n! X& C9 Z1 i1 D8 S
  4. /**; c: k. n9 j+ N6 S8 k
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    0 K+ m" q: z3 G; M2 o
  6. * 使用方式  直接调用jsSuportCheck()( [1 \) q% n( n# @8 r5 @" s
  7. *      1.trackHost 指向你的追踪器,
    - Z$ d2 L& t  R3 X
  8. *      2.修改 event1 为你自己的event1 {+ S) v/ m5 G' F
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    + X' ^. V8 _- C4 ?' y4 l0 K
  10. *      4.追踪器上  event1 = 支持js浏览器数量; }$ x6 f- ^/ \$ E
  11. */' \: c' D$ D, ^
  12. function jsSuportCheck() {
    ' z, p4 n- j3 M" g, e
  13.     var o = document.createElement("img");
    - Y- C3 e6 |9 y; Z# i3 x, I
  14.     o.style.display = "none";" H8 h* F, b/ U1 n( H4 g7 p
  15.     o.src= trackHost + '?event1=1';
    : u* i$ r+ M" E
  16.     document.body.appendChild(o)) e3 n, _% l' G7 E
  17. }1 ]2 N; e# ], `" D- ?% r

  18.   v" E+ K0 \2 m, c% P% F9 k
  19. $ y5 x! h/ f; ^. Y5 ~* w# {
  20. /**
      L6 K& r: B1 w8 q
  21. * 2.页面存活时间
    # b! w& W2 m; a: S  b# M: Z! ~
  22. * 使用方式 直接调用 aliveCheck()
    # k0 H' W5 T2 U5 _
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    4 Y% i0 P& Z3 H9 K
  24. *      1.trackHost 指向你的追踪器,+ L, ?  h' s; k! N
  25. *      2.修改 event3 为你自己的event% o- p5 @- T& U' _; K# ]
  26. *      4.追踪器上 event3 = 页面存活时间5 |5 l" ?8 H3 ~
  27. *6 z$ H/ E7 q7 G
  28. * 数据说明:
    % c. N& G2 g4 O$ l1 j; @1 w
  29. *  1.时间为0& ~" }0 P# c9 z4 B1 I
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    7 }. F9 v' A% T! A% g( K
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    : a: V" h1 |; L1 r1 v- a& z2 k* s7 n
  32. *  2.时间不为0
    $ f# ?% g4 n( c+ u: i- k2 M
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常8 {4 s7 X+ @/ e9 r
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题; |7 r5 H  V9 l% l0 \: G
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以7 f- V1 l- n) x: C& J( Q
  36. *) m, Z8 Z- S9 y* L3 S5 r# S" Q+ ?/ w( J
  37. */& ?3 K! @" a9 l0 y& \8 c

  38. 8 U8 W& O( v" p/ M! x1 H1 r$ K
  39. var times = 0;2 o) Z- |2 P: F4 D1 N6 ?7 c
  40. function aliveCheck() {/ |1 D* f5 E. q
  41.     setInterval("checklive()","1000");, e, p, k* G$ Q- Q4 l2 d
  42. }
    - B. S$ i0 d  v, K( X9 h0 j! f
  43. function checklive() {2 F. w- E- ]( z+ f" J5 ?  g  u
  44.     times += 1;3 h3 y2 x; U# a7 c
  45.     var o = document.createElement("img");
    / E2 j* ~: ~( C. ^  |
  46.     o.style.display = "none";' P) x$ ]+ g* |9 H- C; a) A7 Q
  47.     o.src = trackHost + "?event3=" + times;
    , W8 Q, a: G0 N
  48. }
    ; \- T) y/ I+ k

  49. % V* G8 Y2 G& Y- ?* z3 i8 K; I

  50. , N/ _1 B0 u+ W/ L6 H7 T
  51. /**
    * n1 S0 z% S- B+ u
  52. * 谷歌验证3 j! {7 _! Z# P8 i$ h$ e
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    + b# H  ?' d; D! O) O8 C
  54. * , t/ m* {1 S! a, V7 m+ {
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    & k! [6 v6 q& m5 m: U
  56. */
    ( l6 p- N1 P$ `
  57. //申请的grecaptcha前端token# B. K) s2 m  Q' U
  58. var token = "";
    . m3 F+ O" i$ t
  59. //你的grecaptcha后端服务器地址$ D( F1 y- @3 }) Y. n( q" g8 d* V
  60. var grecaptchaPostServer = "";! c1 n- f" |/ h& u: @, J& X. M5 [
  61. function recaptcha() {
    * N0 P$ ~8 w9 n6 @
  62.     grecaptcha.ready(function() {( u# k0 {9 o! X5 P: x2 G" g
  63.         grecaptcha.execute(token).then(function(token) {6 N' V. i- r5 U/ e/ U
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    7 q# I3 u' c- Y6 s, s# |* b3 A, n
  65.             var o = document.createElement("img");
    * q" x9 v8 k  o+ @+ [. Z
  66.             o.style.display = "none";( Z& V* @" n+ p, ~2 z, W
  67.             $.ajax({
      ?. B: T/ ]6 E9 p
  68.                 url: grecaptchaPostServer,
    2 y. m) |% y9 F: V
  69.                 type: 'POST',
    3 R. E  P4 Z3 B/ u# W# v
  70.                 data: {"token":token,"ip":ip},
      b0 k& i  h( M1 y/ E7 J# M
  71.                 success: function(data) {+ |# G/ R' q% i5 [, L0 T6 t9 P7 E
  72.                     if(data.score > 0.4){- R8 \4 W+ [2 u1 w
  73.                         score = 1;
    * v4 J/ i* }4 e  B
  74.                     }else{
      A( s9 k  |- G* }8 m. k8 r
  75.                         score = 0;
    0 }8 |2 C% S4 o3 |% M
  76.                     }4 ?( Y2 {) J3 _7 L* B" E
  77.                     o.src = trackHost + '?event2='+score;; e- l  b0 g) I% n$ l
  78.                     document.body.append(o)
    , Q, P( w6 e- f+ ^- S
  79.                 }
    ( f, [9 v! g) k, ?
  80.             });2 K. t& L3 A" t7 c" {$ }
  81. : `. d+ F/ |" w  v0 }( w' {
  82.         });
    ) a7 a0 ~2 `( S. r6 Y4 X  |% |
  83.     });
    3 }7 `8 ?( h; h# H: U, u
  84. }
复制代码
1 d. W& ~6 m# E8 H- w
7 K2 s0 `5 Q& X: P0 V" H
; z* X- r3 {" l# M# f7 z
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
1 w8 |9 C0 X. M
' T0 l2 J" c0 g$ s2 R, Q4 J' L4 u4 q& T. c/ V- }# Y

2 `) [3 X1 d  U- o$ M: s+ `& E( {7 {
/ g9 i7 j! B8 Q
9 b+ B" O0 z6 K* t! l4 Z
$ ^. @& p. P" A4 P4 X4 @

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1044

广告币

1452

积分

高级会员

Rank: 4

积分
1452
发表于 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 | 显示全部楼层
补充下:) S2 V( Q( N( C+ ^9 X7 J3 ^/ \
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将5 H3 f. f$ n) I3 K! K7 B" q
  1. var times = 0;: X  J5 i( s# e. N5 k: q2 w
  2. function aliveCheck() {: ^, E9 i( O7 o  i' G" ^, ]
  3.     setInterval("checklive()","1000");
    # W3 ?1 B1 \- X1 B" K
  4. }
复制代码

# W6 v. {/ H7 ]6 W9 D+ x% D7 _- j2 i8 {4 d# i修改为:
7 k7 \0 a6 p0 ~$ z% C
  1. var times = 0;
    ! [, o* T7 P: y" V
  2. function aliveCheck() {8 X5 q3 F/ _6 K5 R( V
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    * X) n6 ]7 i$ B0 N# ]+ U3 C/ g7 P; |/ A+ @
  4.     setInterval("checklive()","5000");& Z+ ]+ R, U# d% G, t
  5. }
复制代码

+ Q1 l/ r( R( L0 c追踪器压力明显降低。。。。$ ]# n$ B, ]% N0 S
; |3 l/ [1 m* c, a' b
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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, |/ h. I+ J1 Z
补充下:; B. @  Y4 g+ W# M/ M6 Q
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

5 B8 e7 \; w9 m# ]( b  N$ S8 o虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
$ g* f' C. H5 y4 C5 v; ]( I. }+ A* n虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
& h8 E( [+ N. m) K- B4 A& z8 E
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
' o# c8 }" o  H% B这个就是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:168 L4 r- f/ K; L1 E0 ~
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
4 ]" ?" o, m% G: ?# N这个就是js ...
* O, b( Z5 O( o, o. o
老哥能说明白点吗?在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
6 T; }/ O% m$ e老哥能说明白点吗?在LP哪个位置调用、怎么调用
& r+ ?0 I5 U5 S* [/ o
放在头部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
% W& O8 _* Y0 R2 L$ ^- n2 N% X放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
- J- S; J( L. A4 v7 v, I
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-5 10:50 , Processed in 0.053705 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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