AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️AdsPower:安全不封号,高效自动化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代理虚拟信用卡+独立站收款Facebook 批量上广告尤里改 - FB 稳定投放
免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户
FB资源,账单户,分享户,国内一手FB企业户,TT老户,GG老户源头海外CL企业户源头PTM全球虚拟卡—进来交个朋友!
PTM虚拟卡⚡️费率透明⚡️额度随心FB虚拟卡⚡️消费越多返现越多【找量】BA独家Nutra单找量虚拟FB卡 ⚡️ 透明条件 
国内外持牌,虚拟信用卡和收付款广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 13261|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-9-14 10:27 编辑
; E4 Q( y2 d' o" K
9 j5 d% U' v# V; T  S: Z  d开个头-------------持续亏钱ing。。。。6 ]. V1 V2 m" S, W- ?$ p
: H+ P) P- }& v% c
/ A  g* W" o5 n. R7 t
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
9 R9 l7 j% a( e. c* Y' w2 L9 }* \/ `: h
基本效果么 可以查看这篇帖子; v; l6 p( G% r0 H7 j2 V3 E6 {% y& d
https://www.advertcn.com/thread-99669-1-1.html
2 s( S" b3 L5 o- _# P" Y
+ w" v* ?" c6 k! R; Y$ Q, i) j; b; n# M4 O* h
但是要强调下:脚本永远只能作为参考和辅助,3 N1 K* @% x$ y
" t8 k' {7 V  L9 H4 a
  1. //your track host: a+ ^( h4 N  c# F  T1 \, ^+ o
  2. var trackHost = "";
    ( `) H* y2 N/ n; j3 O( Y* ~
  3. $ d" s. o, o# Y. w- q
  4. /**3 _* @4 g* w, P5 C" O# y+ U9 e7 ?
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    * u% |) M0 F' [) D$ W7 \/ G1 X* f& T
  6. * 使用方式  直接调用jsSuportCheck()' K( L/ n& s2 g( s: w1 `, P
  7. *      1.trackHost 指向你的追踪器,0 b6 r. Y* Y4 r; g/ e
  8. *      2.修改 event1 为你自己的event
    & b( \! A0 G, J5 w/ \
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)/ W3 C4 i& d, q. x- c# P
  10. *      4.追踪器上  event1 = 支持js浏览器数量0 @; d' A+ V9 f  n& i
  11. */
    " c5 v. U4 y- S; `. `/ v7 [
  12. function jsSuportCheck() {- D0 B" @1 u4 B' ~
  13.     var o = document.createElement("img");
      |8 c$ O/ a( G2 _; n1 E' q4 P" n) d
  14.     o.style.display = "none";
    . x8 m9 H' L  A/ f, P8 }
  15.     o.src= trackHost + '?event1=1';
    # i! T5 K* x# H' N
  16.     document.body.appendChild(o)/ t$ V$ M) U$ [- H; x, z
  17. }" i2 }' Z) Z: G+ o

  18. , V8 Q5 w5 O- O% ~0 F
  19. 7 R# d1 ]2 q) H6 |6 g3 Q
  20. /**
    + Q/ F% Y. t+ t- o7 \9 r* N
  21. * 2.页面存活时间6 `9 r" d+ }; a. g* ?$ g/ q
  22. * 使用方式 直接调用 aliveCheck()1 w' ]% g) {2 W. ?6 k
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event6 ]- I; h, s- B* G7 N- x" g* o
  24. *      1.trackHost 指向你的追踪器,$ j/ V4 `8 @' y4 r7 l
  25. *      2.修改 event3 为你自己的event
    ; g8 J. n% H/ b, G' n% l  ^
  26. *      4.追踪器上 event3 = 页面存活时间
    : U/ B2 F* V( P8 R% o: L
  27. *# L7 i9 B4 K6 _! }
  28. * 数据说明:
    # v9 }4 a3 q1 h' o& U6 ]$ a& A
  29. *  1.时间为0* l, l& c+ n, W
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    . c8 \, F: A0 G' ?6 ~
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    * _; c# ?  g8 ]! l. f& g' T
  32. *  2.时间不为0
      _) N, ?/ b  C, R& ?
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
    5 F. o5 h& Y- I- b+ J$ o
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
      V. {! n1 D9 W7 g& X8 h+ b
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以+ d6 k. G0 z1 e+ j( f) [; t
  36. *. P- `& G$ n5 v2 Q4 D2 ^2 y+ l* I
  37. */
    % ]' F! J3 a$ D: Q; u0 Q3 y/ L

  38. 1 s. C' D  l5 A- I
  39. var times = 0;
    * y8 @% i( F3 D/ s7 N
  40. function aliveCheck() {/ ~" G( {8 l/ p) d
  41.     setInterval("checklive()","1000");
    / h1 Q. i; Q$ l) J# p
  42. }
    - w* ]4 Y/ D: L& x8 ^) s& h
  43. function checklive() {- Y/ a  K! y) Z6 H- ?& @
  44.     times += 1;
    $ t6 d, v# z9 Y1 x0 p
  45.     var o = document.createElement("img");
    $ c1 `6 z( e& P0 b+ i# T
  46.     o.style.display = "none";5 w6 N  Y! n! A4 ^5 i
  47.     o.src = trackHost + "?event3=" + times;
    ' |" h2 z& m$ o/ \% e
  48. }& z- ~( `0 ~5 l& g
  49. 3 O0 ]0 I1 ]; i7 K6 T- C1 F$ q

  50. % W) q0 ]" v. R% `
  51. /**: a0 v+ `4 H8 U8 U7 p- [  F: i
  52. * 谷歌验证
    - h1 Q6 B- x: Q% I( Y
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    & Y$ b& x$ f6 a( s
  54. *
    ! w' L) ]. f% `
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score5 {5 @) _4 U0 g2 D% m+ |
  56. */3 j4 t( w. L& y" c; H* M
  57. //申请的grecaptcha前端token
    . w% Z) i$ \/ B! N' m$ _
  58. var token = "";2 f' y+ h  f% j
  59. //你的grecaptcha后端服务器地址8 i  @9 ]0 u- a1 C' n) v2 Z" ]
  60. var grecaptchaPostServer = "";
    ; e# z( ^( ]% x3 u7 ]2 o
  61. function recaptcha() {& O+ t' T& T5 K3 j! X
  62.     grecaptcha.ready(function() {: P* N" L2 V( ~! y( Z5 N% M9 m
  63.         grecaptcha.execute(token).then(function(token) {4 o' x4 I- D; e) R! I
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    / v7 [$ f6 U7 P1 a
  65.             var o = document.createElement("img");
    5 u& X% g7 s2 A5 H+ V) Y9 g
  66.             o.style.display = "none";3 J: y* J0 w5 Y) X
  67.             $.ajax({
    " J' b3 _; U6 ?( s1 {( C" O, W& O
  68.                 url: grecaptchaPostServer,3 p+ T/ N9 O8 d, F
  69.                 type: 'POST',+ ]( z# _* K' a0 A
  70.                 data: {"token":token,"ip":ip},
    ( t' r9 b3 w5 J( ?
  71.                 success: function(data) {
      p5 N0 O) V$ d' i& |6 N
  72.                     if(data.score > 0.4){
    6 \  e8 Y# ?# t8 V! R2 Y
  73.                         score = 1;% U7 h2 b. n- {- B
  74.                     }else{3 G# \" G3 g. ]0 n/ `
  75.                         score = 0;
      q5 Z5 Y% Z6 r( g) o9 X
  76.                     }  ]. D9 f) a4 R- T* y. N7 ]
  77.                     o.src = trackHost + '?event2='+score;* Q3 ?- X7 F" F% m: ~1 D
  78.                     document.body.append(o)% S- a: h9 z; S. y# O
  79.                 }
    * F( F' V: o1 c; c
  80.             });
    , x0 m8 f' ^8 H4 d3 j9 u% S8 w
  81. 3 O0 F9 K8 s! V) K! S
  82.         });
    ' A+ \4 I8 [0 e6 q. Q* ~: g' l8 \
  83.     });2 N2 l( H0 _; P4 S/ \9 O- a
  84. }
复制代码
9 ~" `5 i" M- e; l  a6 d/ I

7 T4 e2 b; Z* E% }! P' C, i
7 E! \# l' d8 x校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
6 A* l; Y" n+ H9 C' `8 `* Y
; l$ Q: G7 o' h
4 w% {' H% Y. ?9 e# L/ B( ~* S# j7 l  e. ?, [6 r4 r  D; Z2 O

/ W- e9 I4 s5 G$ G
# t3 O" p3 d, C4 H, q4 t
% C* @0 C! k. u1 E( h

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

901

广告币

1296

积分

高级会员

Rank: 4

积分
1296
发表于 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 | 显示全部楼层
补充下:; M+ ~: s- H$ C; |- O0 W' t: Q
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将( e  a; V% M) l
  1. var times = 0;# x7 ^3 L2 F4 Q7 t  B! ~* p1 ?# g' H
  2. function aliveCheck() {- G8 n( r, T0 U# k
  3.     setInterval("checklive()","1000");8 G/ X6 c5 N% i# J% l
  4. }
复制代码

4 s7 U: Z/ v4 h1 _: L, ]修改为:( O8 [8 o8 M" X
  1. var times = 0;; `/ Z! P6 z, i* q4 S. F
  2. function aliveCheck() {
    ) G" [/ p: {" M  l# X1 X8 p% U( b
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s6 |' E; F- t( R  {9 E% W
  4.     setInterval("checklive()","5000");
    # {9 m% o2 R/ y1 U+ a) }
  5. }
复制代码
2 H- l/ G, u3 R% ?% H: A% ~: K  ~
追踪器压力明显降低。。。。
3 ?) J/ @: Y6 ]$ Y
3 N# S3 n3 B( x! e4 y2 n- Q这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,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" g" L) D, y) Y2 w# @+ D6 e2 W: A
补充下:  T6 ?* f: `: b3 K/ l" Q  @; C
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
2 S. U, V: }) R" l
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
! P9 r6 N1 H: s3 k4 g/ m+ f3 n虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

1 ~4 H5 }2 y: ^; l! E5 }. v5 ~1 N追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。! B' ^( Y3 F  I3 I* p. Y
这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1143

广告币

1727

积分

高级会员

Rank: 4

积分
1727

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16" w1 _. Z$ A; h' l7 a4 E
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
" T' V3 S: B# R  {( x. Y这个就是js ...
$ r8 @2 g! u& l' {& @, }1 P$ j5 F2 `
老哥能说明白点吗?在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
  d1 J6 ?) c( f# O7 k7 G6 s老哥能说明白点吗?在LP哪个位置调用、怎么调用
7 A& y8 J1 g3 e" c3 g5 D5 L4 l1 I
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1143

广告币

1727

积分

高级会员

Rank: 4

积分
1727

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56: h; {1 f1 l, `8 [4 ?% m; L+ o7 ^
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
- a4 @9 T; T) t0 O9 w# K* g
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-8-25 04:16 , Processed in 0.054688 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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