AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
⚡️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 + ADVERTCN
7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值Facebook 批量上广告
尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)
FB企业户,TT老户,GG老户源头海外CL企业户源头PTM虚拟卡[全新卡BIN+高返点]PTM虚拟卡[OPENAI+全场景通用]
FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量->Tyver SPY汇聚海量广告创意高质量代理⚡️住宅⚡️移动
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 13410|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑 / h: T( u3 z/ T6 o- r) S( N
6 V$ a4 s2 D+ ?! q2 N. E# A
开个头-------------持续亏钱ing。。。。% L5 b& d$ A/ }
9 i1 p6 f3 ~7 _; m( L/ P

7 M1 u8 u$ ^) X6 ]/ |这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
( N" T% B' p/ o# \7 `& k( }
. o/ ~8 B: Q* E, T1 O. q- T6 ]5 G基本效果么 可以查看这篇帖子! k  ]+ U7 e8 W! J( q. t
https://www.advertcn.com/thread-99669-1-1.html5 k5 U/ n1 A5 C( t9 x/ _% Y' _. J
* s5 j- s$ l$ e0 m& r4 I) f
& y8 h& Z7 ]2 B/ G5 W* n% B
但是要强调下:脚本永远只能作为参考和辅助,
# A! U+ z8 c  `- l6 h0 W% @$ X# L* K3 f: S
  1. //your track host
    ( h- K+ p+ N- k1 H$ U
  2. var trackHost = "";5 u$ b5 ^$ q+ h) N: A

  3. ) n* p, s6 M+ n, L! X3 |% _. W6 `
  4. /**
    * o7 d3 L! ?9 r% b, s7 m) O
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一6 B3 R" v1 E# [1 x$ [
  6. * 使用方式  直接调用jsSuportCheck()7 h, s/ M3 B6 s
  7. *      1.trackHost 指向你的追踪器,  p7 {# x: k3 ?6 m5 G
  8. *      2.修改 event1 为你自己的event
    : P5 f* t" O% n, ]2 C& Y6 h
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)2 @+ @% L* t! p" c
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    1 l8 Y# D" q7 b1 g
  11. */
    * W9 y8 a% D0 ^+ e2 k8 L# A) R! H. O
  12. function jsSuportCheck() {
    , B6 V7 h- q, S2 d6 U& L
  13.     var o = document.createElement("img");% ~' J' l* n& Y: h- p5 B: V: w0 S
  14.     o.style.display = "none";3 w4 E0 e% d: R! `1 k8 N: K' ^& O
  15.     o.src= trackHost + '?event1=1';
    ! N# F/ v4 f1 ^5 S4 H" F
  16.     document.body.appendChild(o)
    9 Z  h& l1 D0 M
  17. }4 A4 g9 ^% H0 q, ^6 T# w. h

  18. . r( e0 k- _% D" S

  19. , {+ z3 L0 e/ X2 \, l5 [0 [4 H5 R: x
  20. /**
    * T! R: \$ n* V; @+ a
  21. * 2.页面存活时间
    - r. V& F" e$ s" w4 x
  22. * 使用方式 直接调用 aliveCheck()1 I" P8 O2 F, I8 k
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event' K3 ]7 b! s3 f4 N7 a$ b
  24. *      1.trackHost 指向你的追踪器,1 K1 W* f4 Q. ^% Y
  25. *      2.修改 event3 为你自己的event
    ) `/ a, ~& c9 ]
  26. *      4.追踪器上 event3 = 页面存活时间! N( b/ d) Q' h8 L0 q2 M% y7 x
  27. *5 t1 r5 A1 F3 g3 u9 t9 w$ A0 F1 u# N
  28. * 数据说明:
    $ I( Z5 e+ V9 x! Q  d1 o
  29. *  1.时间为0
    8 b1 n6 [$ d7 ^0 F& r+ C
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    - c% @/ E9 T8 M! _$ w
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    & e+ m  I* `2 ]( l% g0 q8 ~
  32. *  2.时间不为0
    * H0 e5 J* v  R9 Y: E- p
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
    . m+ A/ C. V% S7 U6 y7 v
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
    / Q4 f' p9 R" A) G
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以
    # d% }8 Z3 |0 z6 ?8 {! E
  36. *
    2 H: q! P' k' f! M. _9 |
  37. */
    " t: S, d3 p8 a! g9 F5 D
  38. 8 e; z; C& s: e9 h
  39. var times = 0;
    1 }% g' i) [0 E) ~* H8 s" b3 o" Y
  40. function aliveCheck() {
    0 R" N/ t- I! m+ h& B
  41.     setInterval("checklive()","1000");
    / K: W+ Z6 J7 {" M) y
  42. }
    6 [+ W: x* P, C/ I" V$ W
  43. function checklive() {
    7 m! h. b6 L- w7 k" R9 ~8 U: r' G
  44.     times += 1;
      B# B6 @9 k$ e5 J
  45.     var o = document.createElement("img");4 P: h) V7 H% p. R0 R
  46.     o.style.display = "none";
    8 X8 c0 D4 _6 Q5 F; Y
  47.     o.src = trackHost + "?event3=" + times;) B# |) i# H" [1 P
  48. }
    - m8 a2 f, Y* v
  49. - L1 U/ j% o+ h: f" X
  50. 5 `4 f% m/ A2 @- V2 |
  51. /**
    3 E/ d; {& [, t
  52. * 谷歌验证& I1 T/ s4 b. y) s# C
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取9 ]3 }" @8 o9 \9 J
  54. *
    # F2 v, T& m; |" ]# \
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score  x, x! H- _6 [$ I6 G% M  p
  56. */
    7 u  B" }* [8 A" U9 \& q
  57. //申请的grecaptcha前端token
    " ?4 V- P; R5 m' k) x6 z$ _9 v
  58. var token = "";! n) y' O$ ^; n5 [; i7 H6 b
  59. //你的grecaptcha后端服务器地址
    ! c( G$ S0 ?, v) W! L9 m5 Y6 F7 E
  60. var grecaptchaPostServer = "";$ O( O0 y4 D. e2 p
  61. function recaptcha() {
    % b# F; R' D8 y; |; I. b, F8 l
  62.     grecaptcha.ready(function() {
      Q. x, L/ N8 ]) ^* b- w2 i
  63.         grecaptcha.execute(token).then(function(token) {; x8 C! Q: H. U# Q1 a
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");" l% l, C. o3 i0 a' v" }
  65.             var o = document.createElement("img");- W9 a9 g# H: f9 e
  66.             o.style.display = "none";0 n9 x: o, s" _2 O- ?" i2 A3 K( X
  67.             $.ajax({' `5 i# K7 I! u% O! z
  68.                 url: grecaptchaPostServer,4 }4 ]. x- {6 p: j% ?# \
  69.                 type: 'POST',
      O! q& X3 G/ Z) l( F3 a/ _  m
  70.                 data: {"token":token,"ip":ip},
    ; m! ~& P- D3 F
  71.                 success: function(data) {6 A' i. _2 h* C) x8 b
  72.                     if(data.score > 0.4){
    ; n1 `8 r, q5 X
  73.                         score = 1;
    4 A* d4 k! r: M* N
  74.                     }else{/ ~, `6 `# n* O* r* {3 k
  75.                         score = 0;
    ( g( ~4 ^! E+ ^$ }$ n7 e1 f
  76.                     }( O2 V3 _* h# Z# w
  77.                     o.src = trackHost + '?event2='+score;
    # L3 l9 G: R! u7 ?
  78.                     document.body.append(o)
    + G4 H5 Q' Q; O' }4 u& {! O
  79.                 }7 Y+ \5 d6 Y8 B
  80.             });
    ! l5 ~# j" z7 Z& Y) q

  81. 6 D* ^8 S( {( i. c
  82.         });
    # m' g6 o  T, ~2 q+ g7 [
  83.     });
    3 m! h! [3 h3 `) n. ]/ w
  84. }
复制代码

1 [2 j# Y) |8 s
! s: n$ l& @1 X& D
; a. y7 s5 t8 s' ]2 p; m2 ~( B, l校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
& C/ U1 s9 B8 _  g: S; O; m. B- T- ~% V
% \( @' t" r( @7 R( X& I
* ]" h% @" ~. ^

9 R, N  S, P) r, G' `& |& `' i: c& g3 q, i2 ^

. h% x$ u8 m) q2 @. o- j* @

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

963

广告币

1360

积分

高级会员

Rank: 4

积分
1360
发表于 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 | 显示全部楼层
补充下:4 ~$ b! S4 e5 ~! d: P
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将- m1 ^" p1 ^$ C; x5 N' z0 a, S& X
  1. var times = 0;- F. X/ B+ K2 h! d1 l6 M) G4 n
  2. function aliveCheck() {* k, U/ |# @; Z
  3.     setInterval("checklive()","1000");9 W' p6 v1 Z' L3 a
  4. }
复制代码
  m7 W; B8 ^- M$ [3 [3 I
修改为:
" o; H% ^/ D1 x9 t" _, S/ ^
  1. var times = 0;
    " a3 Z# b1 Z7 I
  2. function aliveCheck() {1 O6 U6 _  P. R, W
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s* \* i  i4 P" H. V% ?/ z
  4.     setInterval("checklive()","5000");7 f) [) j6 _$ X$ u" z. y
  5. }
复制代码
0 U- V& d. u4 D7 _; O
追踪器压力明显降低。。。。+ L# T' E( F9 H  \7 \$ Q( L
4 n+ X. d+ u1 }1 L  L
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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
4 C3 {" W1 X% j  h/ Z3 i% n补充下:/ @. p8 k5 \1 i* s7 R
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

; |' }  ?* p6 [9 w! R# N9 j* b! W虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
* l2 r: D; `: ]" d9 H0 j1 f虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

& p0 S9 F, ?# K5 z9 ?追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
& S  p3 D8 G2 p' X- }这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1146

广告币

1730

积分

高级会员

Rank: 4

积分
1730

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16* S5 k) a, Y. |9 V# u! E, |& W
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
' z6 j$ [# g& m' t这个就是js ...

+ X! Y' U8 i' J3 M1 {5 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! o9 C7 J: B0 G# Q' `, X
老哥能说明白点吗?在LP哪个位置调用、怎么调用

8 S+ m  ^* x3 r6 r) N/ [放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1146

广告币

1730

积分

高级会员

Rank: 4

积分
1730

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56. N) @# d1 N2 T! f
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

9 l  w  S! X; o" T# v* B2 l$ 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, 2025-11-1 01:29 , Processed in 0.052817 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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