AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G需要代理IP?⚡️Proxysites.ai⚡️指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值Facebook 批量上广告
尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)
⚡️个人户,bm户不限额,账单户9Proxy ⚡️ $0.04/IP, 无限带宽 IPCola原生住宅IP⚡️$2.1/条双ISP虚拟卡|PTM星际卡
FB专用虚拟卡Google、Bing官方总代  联盟流量开户fb耐用号0.01一个fb账号官方合作商
FB资源,账单户,分享户,国内一手广告位出租  
查看: 12752|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑
' A3 h  g3 ?6 k4 d9 k
0 o4 {+ y6 b- Y1 H9 ?; Y开个头-------------持续亏钱ing。。。。3 {, ]8 ^% ?9 W

- K  F5 q2 ?- ~# b' x, _+ [) r5 n$ }  O. n- J, f
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。9 |6 Q% w6 w. N- e" z! Y

. b2 c7 m/ a5 l* s! W6 @基本效果么 可以查看这篇帖子" {) U3 z' ~! n% H) n7 v2 j5 B
https://www.advertcn.com/thread-99669-1-1.html/ H8 {* R. O5 }$ v
7 I" Y5 v- H0 T2 \
  T& e" f* `; P9 a
但是要强调下:脚本永远只能作为参考和辅助,$ b7 [4 l/ X9 r/ q# O
: H$ p7 V" ^( i% _# A6 X
  1. //your track host
    ) ^2 q, M- k' K! Z
  2. var trackHost = "";
    3 O) I! n4 \  A4 S) C; }6 r

  3. 7 I8 ^5 }: M, `2 [/ E
  4. /**) t% N/ d& j0 A7 [& R3 F
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    8 P5 X- M1 U* O
  6. * 使用方式  直接调用jsSuportCheck()8 |, j' i1 u6 L+ m$ G' y; Y
  7. *      1.trackHost 指向你的追踪器,
    1 ?. r$ i& B: c" v, f
  8. *      2.修改 event1 为你自己的event* g( R) g: h/ J0 q3 P4 J3 y8 H
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的): _1 ]7 |% M7 f9 V$ X
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    ; p( C' G2 _" j' g% ?; H  r
  11. */5 v0 P7 w; i+ @8 `* S
  12. function jsSuportCheck() {, @' N9 v, y& T$ n( `
  13.     var o = document.createElement("img");( |( ?& V# x) h* g+ i+ B
  14.     o.style.display = "none";, s# p/ \  a' n8 F( Z
  15.     o.src= trackHost + '?event1=1';
    : t- _/ S2 B* Z+ X$ v* L4 |
  16.     document.body.appendChild(o)6 g3 J0 g8 g6 A3 z, E* }6 \
  17. }
    5 G( T; E9 H6 Z# ^4 }

  18. + \/ V" n# q7 h0 T( f

  19. 8 `* N: y" L5 {9 V! u. w: ^; s
  20. /**3 f, M% M7 [3 H) d5 i
  21. * 2.页面存活时间
    2 i/ m* d* B3 U, ]6 K- M+ l+ O
  22. * 使用方式 直接调用 aliveCheck()  N5 R1 h0 g7 J& _' I6 a7 H
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    8 }  P" j* T: c) `+ ^0 P$ L
  24. *      1.trackHost 指向你的追踪器,
    3 }* x5 s' H' N/ h8 ]
  25. *      2.修改 event3 为你自己的event
    4 q$ n  c- J' C1 y% `( }* k
  26. *      4.追踪器上 event3 = 页面存活时间: C; \/ w# K9 I$ a
  27. *
    2 E& x/ p( D3 ^. n' O3 G+ p. t8 [% z
  28. * 数据说明:6 M. s" ]" ^2 w
  29. *  1.时间为0
    2 X7 @8 p' T7 G! D+ t: F4 x
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)8 }# b& @0 N) s. _
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    3 ]# w; i4 e$ X$ A' H
  32. *  2.时间不为0/ M: {: x+ ?# _% o6 p# G: n
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常( p: i' n" a1 ^. l: q# s2 g) Q# \
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
    0 X2 o! ?+ G3 ?( E4 j) q
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以& P4 Q+ Y& R/ q  o3 o6 R
  36. *
    ; B, `0 S  f4 F! Y: S4 G# ]
  37. */4 Q) A# f0 N/ i; z4 t" ?$ E

  38. : d+ D, p# J$ k
  39. var times = 0;
    . F7 s. w) G2 E% y
  40. function aliveCheck() {' k8 b1 l2 e: G& w/ \, o8 L
  41.     setInterval("checklive()","1000");
      q4 G5 L' t! M/ _2 A' l& c
  42. }: j9 W' r2 }7 `/ M* s* V4 s
  43. function checklive() {- s( {  c  ]0 m* I3 q
  44.     times += 1;
    # Z# `6 D- F( P$ ^3 T# e! z
  45.     var o = document.createElement("img");; ~: n4 C1 N) I# c8 I( _
  46.     o.style.display = "none";4 w) Y  G- F6 k7 P, i7 J
  47.     o.src = trackHost + "?event3=" + times;( X, a& q) Q2 O" }
  48. }
    , Q9 u$ R$ X! Q2 u! i: ~
  49. / o! u" |, [, _: v) h- \
  50. + O5 W# I6 T* u/ N
  51. /**
    7 t: G) `) M6 m) C% D+ \) Z1 F
  52. * 谷歌验证% S1 g  I8 {! H/ `
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    : i, m/ F4 M" \0 f; ]; i
  54. * & p( _7 A; `6 t6 J4 s: o' d
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score( p7 L# l2 K+ ]& Q, ?$ ^% M
  56. */
    " ^* h* V- X/ i0 T1 d$ I* k
  57. //申请的grecaptcha前端token
    5 F) Y; d2 C9 n9 C1 h. P
  58. var token = "";2 p5 K+ w9 ~* q2 e0 n7 c
  59. //你的grecaptcha后端服务器地址
    * Y) l7 M# V# ]9 X$ I2 r7 R* X
  60. var grecaptchaPostServer = "";
    - b1 _0 b3 ~4 n( _) _
  61. function recaptcha() {4 P1 @/ p5 J8 K
  62.     grecaptcha.ready(function() {
    ' W  W9 K1 }* V, B+ k" S5 z. w8 Q. X$ s
  63.         grecaptcha.execute(token).then(function(token) {8 n4 l& K, y4 m3 p
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");: x1 r, M6 A0 j% ~6 q
  65.             var o = document.createElement("img");: q) b. L" O) s5 T; I! A
  66.             o.style.display = "none";* [( C1 X7 N; x+ J$ v" A
  67.             $.ajax({
    % v) r. d& C, x$ S) U3 A3 n0 J4 P
  68.                 url: grecaptchaPostServer,
    # b7 P4 v6 @5 k, S
  69.                 type: 'POST',7 j4 [) E9 p! E  d* R5 k* R  T& l8 Q
  70.                 data: {"token":token,"ip":ip},/ c8 U4 e, G- q1 I
  71.                 success: function(data) {6 D( U' S: m( |- Z6 j2 a5 _* F* P
  72.                     if(data.score > 0.4){
    ! v" |* ]) K/ M5 S; t
  73.                         score = 1;
    ! f; T  ]1 r. c" s6 j' u5 f; i
  74.                     }else{
    1 C% s  m( l! i/ [/ X$ \
  75.                         score = 0;
    ) g# J2 l; h: B: o
  76.                     }& M- b3 b# B8 z4 t' p$ x# W
  77.                     o.src = trackHost + '?event2='+score;- C- Y/ `' {$ [7 {* _
  78.                     document.body.append(o)6 y3 H5 d$ k& J5 S  |8 `1 w8 w2 g9 @' `
  79.                 }
    / B6 S. Z0 Y* |
  80.             });0 d9 z5 [" `+ p2 h
  81. : V6 S+ ~: i" F! ]# B0 q5 v
  82.         });% c! [% j/ |# t5 n# a% M' M+ m
  83.     });) i% ~$ B! L+ A. ]; C" B
  84. }
复制代码

8 `% U# s4 \/ ]) E! S- s! P( r3 `& `7 u! J- K
9 M. Q; r- t( {3 `) b* R
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可( d  r  I5 F7 u! c. f
' }, {" p+ L) _6 R. k

& @5 q& W  O) h0 A. ~/ [7 F! Y7 C( a5 Z4 x7 i+ ]. r. `
" L& f& O  Z! ]+ u3 C
" ?4 Y, V3 }; D7 t; U% w
2 m9 R; L' ^! ~

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

728

广告币

1092

积分

中级会员

Rank: 3Rank: 3

积分
1092
发表于 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 | 显示全部楼层
补充下:: \: v7 b) F9 g6 N/ V) N
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
& I9 x/ d, q) |1 L$ F- {
  1. var times = 0;& g" g1 x: z8 X( M* d( p
  2. function aliveCheck() {
    " z& O! e7 F, G$ g2 B
  3.     setInterval("checklive()","1000");
    6 Z# l" y& B( n( K7 M! O- r
  4. }
复制代码
  U7 @. {1 m$ L& W% n; L: T
修改为:% ~0 a* ~: e1 j9 n- D; t, V
  1. var times = 0;
    + i# T- W( g% j1 d! l
  2. function aliveCheck() {
    # K& R, L/ a! c# ~* j
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    ) q: L: k+ z- R- V5 M+ A% O4 m& `) g
  4.     setInterval("checklive()","5000");) W( |* F  z% B: a  j5 ?
  5. }
复制代码

, n5 s9 ]" k  S! j2 T1 A1 ]追踪器压力明显降低。。。。
/ W  J/ K5 V, X( m- o# X5 c! ~7 V  S; g; g- c4 q% d2 R: l1 }+ \
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

456

广告币

628

积分

中级会员

Rank: 3Rank: 3

积分
628
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
; v- {/ l* U/ _4 y. k补充下:
# E! w- }1 c$ `+ l今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
/ I$ _! V" r& b+ j4 y$ E
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
, ?; o1 E# a' y' K虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

& T- B2 q9 L* e5 L, G3 s追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。1 Q1 S' w" G; e6 o
这个就是js代码,直接放在LP里 但是记得要调用!!!!!
回复 支持 反对

使用道具 举报

60

主题

1129

广告币

1712

积分

高级会员

Rank: 4

积分
1712

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:168 m7 |. _/ q# J5 x: x4 H% Z
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。4 s! r# R# [/ U/ X6 g7 C
这个就是js ...

' M/ `6 B* l- y# N1 Z老哥能说明白点吗?在LP哪个位置调用、怎么调用
回复 支持 反对

使用道具 举报

82

主题

631

广告币

1184

积分

中级会员

Rank: 3Rank: 3

积分
1184

社区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; L! j6 d1 Q+ F: \/ C
老哥能说明白点吗?在LP哪个位置调用、怎么调用
$ w% ^# V8 y( a' a3 G# t0 H9 N
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有
回复 支持 反对

使用道具 举报

60

主题

1129

广告币

1712

积分

高级会员

Rank: 4

积分
1712

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56/ d" {' r* t" I! ?* T: ?
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
$ ?0 o. m& ^$ D# ?6 L
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-1-21 18:55 , Processed in 0.058548 second(s), 19 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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