AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-9-14 10:27 编辑
7 b1 d0 U. {1 H; \* h/ |) h8 t) q/ s: G
开个头-------------持续亏钱ing。。。。
' |+ b: H2 R. w& L" c
4 k% L# }* i' }: B6 V8 m
+ z& u6 m% R8 u5 X6 e4 J  o; @这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
1 y( W* q- `: X( r
0 p0 Z% i; g& D基本效果么 可以查看这篇帖子0 j9 D: d  ~0 v- m
https://www.advertcn.com/thread-99669-1-1.html
( p" b  p- w! i3 G4 E8 G
0 h, i% u! f2 z. J. c; v
9 `4 k/ `6 B3 |1 u% g但是要强调下:脚本永远只能作为参考和辅助,, x( m0 a; H' w4 h
' f* k- ~3 V9 ^6 k+ d
  1. //your track host
    * p# v, X, l9 z+ r* e" Y
  2. var trackHost = "";' l, }7 n7 J& c

  3. 3 A, T4 D* S% T! ]  S: ?( Z- N' J
  4. /**
    ; T+ v0 e/ e" J
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    ) F/ v' p  r" V  Z- o) A
  6. * 使用方式  直接调用jsSuportCheck()
    3 s- H/ J. a9 p/ Q' }" E! m& k6 A
  7. *      1.trackHost 指向你的追踪器,
    5 m2 s4 f$ V$ Q$ t. B' ~- N# ?: G  S
  8. *      2.修改 event1 为你自己的event. q7 u' [. \$ Y0 N" d: [5 f
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    7 ?% m4 J1 G2 K6 N
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    6 {: _  I/ m3 }" Z& V/ r7 V4 r
  11. */
    2 ]5 J% \7 r1 Q/ l" k) G& u4 P
  12. function jsSuportCheck() {; ]8 M% F$ e* ~# D
  13.     var o = document.createElement("img");
    4 H* T% A9 n, o' R3 F' q( ~/ C7 L
  14.     o.style.display = "none";2 n6 d: f; X0 j- T0 |
  15.     o.src= trackHost + '?event1=1';
      I  y( F2 p; I3 [$ i* [0 E
  16.     document.body.appendChild(o)
    ' G; @! y1 _; z0 e, N
  17. }
      ^% ]7 Y& j  ]

  18. 0 h/ H  d  [( T* ]; q, Z. Q
  19. / }* W2 I3 @9 s) Q% K) A' w; Y
  20. /**' Z: `: a0 R- M
  21. * 2.页面存活时间
    , v$ M9 o% U! Y! g" N/ ~
  22. * 使用方式 直接调用 aliveCheck()# W, \; q$ I6 H3 S% ?/ Q
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event- W8 A# `. ?& P; T7 k4 R/ e6 a
  24. *      1.trackHost 指向你的追踪器,
    6 E" G  q( B' a! Z( X6 q9 `: `% g
  25. *      2.修改 event3 为你自己的event
    5 l. u. T4 n# y8 f
  26. *      4.追踪器上 event3 = 页面存活时间' N, Y$ U( l% ?% j0 y+ g
  27. *1 o! Y/ Q0 ~8 F9 o' u
  28. * 数据说明:. y4 n6 c8 {5 U/ G6 [. Z+ A; o& s
  29. *  1.时间为0
    5 `6 y2 h- I8 {# E6 ~
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)% d; X2 b) D$ U9 [% d
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck# u' I4 n$ t7 S( X4 o' z
  32. *  2.时间不为0
    . j, e2 F$ W& ~9 j: \$ F
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常2 |7 p, K' V. M/ P$ Y  d7 B
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题9 }. c8 J7 M" Y8 P" W: Q: l) O
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以" }+ t: c2 f3 D7 [. d
  36. *
    + \! N& `: Q# J# L7 L
  37. */
    5 C2 d; ~$ U6 G. ~
  38. ( \/ n. \' y: G6 J" p( J
  39. var times = 0;
    . I1 A2 Q, H1 {# u! M; [4 v: v
  40. function aliveCheck() {% G* ^. m  i; a1 _6 C
  41.     setInterval("checklive()","1000");; r6 l( e7 W! ]7 e6 N4 S
  42. }1 h, r3 ^3 D0 v" v1 A
  43. function checklive() {% V& j( K8 s, ^/ B/ e6 Q( b
  44.     times += 1;
    ( j3 h0 y0 Z: Y
  45.     var o = document.createElement("img");  S5 v5 F& T6 e+ q$ r) B+ o% f" o
  46.     o.style.display = "none";
    , K3 l8 |2 I+ H
  47.     o.src = trackHost + "?event3=" + times;# Q( H" q2 J7 _+ }" K6 n5 k
  48. }
    1 j  [# m- i  c$ V- n
  49. 1 K/ F" j" P9 k: w$ U* p

  50. # G9 k4 U( A3 t; \& O
  51. /**
    8 H7 U9 e9 B" p
  52. * 谷歌验证! l2 Z4 `! c- a
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取# v# d& W. |' ?+ o' Q7 y! x
  54. * " g1 d3 z" i) R, B; O' j
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    ' p- s! x5 m" q* e6 k% k; p
  56. */
    5 i5 N# U: L" @5 {
  57. //申请的grecaptcha前端token3 {5 N, |4 j" t8 D1 d; ?& d6 Q  t! u
  58. var token = "";
    3 c5 x$ `+ g0 x& f+ ?
  59. //你的grecaptcha后端服务器地址& J6 B" I% Z4 U  _
  60. var grecaptchaPostServer = "";
    ( a- m8 A3 q+ W' E
  61. function recaptcha() {
    ! Y, a5 `; h* ^
  62.     grecaptcha.ready(function() {, \* w  E2 [' _
  63.         grecaptcha.execute(token).then(function(token) {
    8 v% O1 q' y. \6 o) G! h& g
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    6 R( \+ O$ b- \5 ^
  65.             var o = document.createElement("img");
    1 Y5 @3 e/ E) `" h+ O
  66.             o.style.display = "none";
    . z% d6 N1 d- z  C0 J4 S
  67.             $.ajax({6 X" t- F1 x& W& Z
  68.                 url: grecaptchaPostServer,
    6 [. P5 Y# T; s( M( {: H; Y* t
  69.                 type: 'POST',, h4 L  P' I4 y/ P5 ]
  70.                 data: {"token":token,"ip":ip},# V  S7 Z: R5 O3 F  _
  71.                 success: function(data) {# Q, c* @/ k, N: |8 Z
  72.                     if(data.score > 0.4){! l& u5 j# S2 l& D4 g# l0 ~
  73.                         score = 1;
    ; x7 p! D6 }+ m5 I
  74.                     }else{
    8 Q8 ~2 m( K6 V+ K
  75.                         score = 0;$ z# L2 B2 h( U
  76.                     }
    9 u: M5 @- ^& p& O3 W
  77.                     o.src = trackHost + '?event2='+score;2 h, t8 H. T; I) p  U/ N
  78.                     document.body.append(o)
    / S+ b% w. I3 I8 u
  79.                 }( }( H: c8 ~& f% F  H" v
  80.             });/ m2 ~6 a+ k; _- j. R
  81. 6 w. U; R/ ]% z% X8 s, {
  82.         });
    # }" ]& S: l/ M7 y* g: Q* f
  83.     });
    8 M2 z: a& t5 v# ?( c, ]
  84. }
复制代码

$ f; C. j" J+ k9 Q7 O, v
( F7 g. S" L0 A5 M+ s1 _+ X8 r, [% O9 R. r
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
7 E8 W. f: J  G$ w" Z, J9 h
: v- S( q0 L  h2 ~# O. W1 A- e/ o# ^; n# f- L

) t- v7 [: L$ `% [7 U0 U' n% U. ^  ?; \1 O( S

  ?6 C9 X& ~4 [5 j0 f# v0 i1 [# o* x; |6 X5 B2 u& B5 z, S

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

923

广告币

1319

积分

高级会员

Rank: 4

积分
1319
发表于 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 | 显示全部楼层
补充下:; H+ k( q' b0 O) a- |
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
& y& d6 l& ~# R  L
  1. var times = 0;! ?& l# @* p1 U  p- z6 i
  2. function aliveCheck() {9 q' d' l, X) V
  3.     setInterval("checklive()","1000");$ S0 X* O. U+ @  S7 {
  4. }
复制代码

2 t" d9 r4 r! y1 f修改为:
$ `: A- K8 {2 ^5 s7 |( L8 `1 {
  1. var times = 0;- |+ }5 X7 _9 k  @
  2. function aliveCheck() {' ]8 U% n: d) B  P3 Z& d9 `- V
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s7 m9 \, U0 q$ t& u  |) C& P. U
  4.     setInterval("checklive()","5000");* T- _, T, {9 A% v( {4 E' Z% z% J1 s! M
  5. }
复制代码

- K! r2 W1 F4 T# N追踪器压力明显降低。。。。
+ C: |2 @# y' u+ d% U' G/ R' i1 {0 r' }) S; C8 _  n7 n1 ]+ V
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率
回复 支持 反对

使用道具 举报

0

主题

485

广告币

657

积分

中级会员

Rank: 3Rank: 3

积分
657
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20  Z: x( c$ j7 T2 S6 g# u  N# i: H
补充下:. Y$ T) a+ @$ ^0 C: ^0 _1 @9 {
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

: d& u! O* k- k( H  }虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-9-14 10:16:18 | 显示全部楼层
tonychopper 发表于 2021-9-13 19:41/ Z9 F; o: ]# ^5 I+ @
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
; d* y  k, X& F4 R  G
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。, G# n) F) v! b$ A
这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1145

广告币

1729

积分

高级会员

Rank: 4

积分
1729

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16! m7 \2 |: |; ?) K7 S
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
& r- k# b* f; r" k/ M* r这个就是js ...

$ ^. z' S$ }* i& }: E3 A老哥能说明白点吗?在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  R) j3 I% N  a2 N9 B# C+ W6 q9 B1 G
老哥能说明白点吗?在LP哪个位置调用、怎么调用

  [4 a. e4 Y" V3 F& I9 {放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1145

广告币

1729

积分

高级会员

Rank: 4

积分
1729

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:565 x- d% x- V' Q' P" H
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...
1 o3 p4 Y" S0 ^; g$ z3 j
谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-9-18 07:01 , Processed in 0.061610 second(s), 20 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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