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工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户9Proxy ⚡️ $0.04/IP, 无限带宽 IPCola原生住宅IP⚡️$2.1/条双ISP
Google、Bing官方总代  联盟流量开户fb耐用号0.01一个fb账号官方合作商FB资源,账单户,分享户,国内一手
FB企业户BM户账单户源头广告位出租  
查看: 12883|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑 ! g* z% J4 _6 c5 L

0 L7 w9 R, F" r  R, b2 u: L$ D开个头-------------持续亏钱ing。。。。
1 i/ J1 }$ x; ]7 @1 H
$ o- g4 l* {0 M" E6 s3 c- P% g; [& T% K
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。
" z9 X& S: X3 B' R4 j9 P9 D, m' d7 c* L1 d8 Y
基本效果么 可以查看这篇帖子7 C4 j( [! G6 {
https://www.advertcn.com/thread-99669-1-1.html
4 X  B! Q# [* n4 b$ L; f/ c6 b5 A1 F$ F2 N
' P5 k! U, O: x% F7 m
但是要强调下:脚本永远只能作为参考和辅助,
0 a/ ~3 f# z( ?2 Z9 R3 n: `1 o$ S8 T  [
  1. //your track host
    , y/ D, l3 V& S
  2. var trackHost = "";! Z% R4 i* K  J, b' f0 i/ E

  3. 1 A% [& c& P( @
  4. /**
    7 T4 c3 W9 d7 [3 N
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    / m) o! D3 ~( J- u; R8 l
  6. * 使用方式  直接调用jsSuportCheck()* a# I3 r1 w% ^* _
  7. *      1.trackHost 指向你的追踪器,# V4 ^8 b2 @, e9 k' l; R! w
  8. *      2.修改 event1 为你自己的event: B. m" a0 I% @9 |9 y7 H  W
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    - l: J( }2 w% w. Q
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    + G; F- x, W' B: v: R
  11. */
    6 f( O# K2 L8 s) E! T7 n  [$ W
  12. function jsSuportCheck() {- k+ K/ r- Y) N
  13.     var o = document.createElement("img");
    ' N0 `, ^/ e  M# T9 x
  14.     o.style.display = "none";
    # h8 o' x& r3 S
  15.     o.src= trackHost + '?event1=1';  g4 D2 g- M/ o& X
  16.     document.body.appendChild(o)
    7 _* `8 E9 w& F8 H/ H
  17. }
    1 T) A/ u# k* U& b- o5 ^
  18. + q3 `8 S" Y4 [; c% L

  19. $ h4 \$ e; G* q0 r, @, t
  20. /**
    0 d5 u2 w' @$ V
  21. * 2.页面存活时间3 q3 Q3 ?. |* y- h; d4 |9 F+ Z
  22. * 使用方式 直接调用 aliveCheck()5 v2 q' m+ c$ I2 _$ u
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    + e' |6 r' {$ |7 L7 u
  24. *      1.trackHost 指向你的追踪器,
    + N$ o6 _, n) }! {- |# ?2 e0 o
  25. *      2.修改 event3 为你自己的event
    ) G- ^+ E$ G( g9 G! \- h3 V
  26. *      4.追踪器上 event3 = 页面存活时间
    8 }5 [3 L8 X; I: j# B
  27. *
    , p% [* t: ]% E8 b' H
  28. * 数据说明:7 N* h& P- G$ A0 F, `
  29. *  1.时间为0
    , x/ b3 U" I2 O8 H' r
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    0 w+ T( t# g$ H8 _0 N
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck
    " \: Z, N, N* i9 ~' J1 c" i
  32. *  2.时间不为01 C3 }. c' u- m: I
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
    5 c2 I; d/ T/ |1 J, D' n
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题7 Z$ a1 j/ ]# m
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以) {) O3 \  T/ O& X& r
  36. *" p1 ?3 G) U$ {) @
  37. */
    % _% \3 D' ]& ^6 {* M, F% S

  38.   c/ N7 r8 o  H/ s$ J$ N: E
  39. var times = 0;
    8 t( @" g' T/ @( N& M( v  G
  40. function aliveCheck() {
    . Z( A( [; g. O0 v( J+ L3 v; T
  41.     setInterval("checklive()","1000");0 M3 R/ R' S  A6 o% d# \4 G  D
  42. }
    5 H# ~' i% d8 b" ~: k
  43. function checklive() {
    ! s, c( N. @" b6 w/ H9 |1 N
  44.     times += 1;( A( S0 K2 F$ W" R- N: Q# V
  45.     var o = document.createElement("img");
    2 U4 G8 E4 r4 R" P7 X
  46.     o.style.display = "none";
    3 P/ N" q. k' \7 A% i
  47.     o.src = trackHost + "?event3=" + times;: ~2 _  G5 ?5 _) d9 @7 T5 n7 l
  48. }
    * G: w8 B/ g: l! j

  49. / N. B+ q- x6 b% S: O

  50. % t0 Z, y( v$ g( T+ \6 f. R* R
  51. /**
    & |- Q6 R/ [7 S' ]
  52. * 谷歌验证
    * {( |2 ]# b8 m
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    / d* M; o6 c9 g% u! W5 p
  54. * , a. w1 E8 P  Y% a6 z/ t
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    4 F" P, n+ B; m4 F8 G
  56. */
    ' i; y* W: s( F1 P
  57. //申请的grecaptcha前端token& ]3 B. I" Q8 {8 v! L1 \
  58. var token = "";% @; s: w0 a1 f7 w8 {( g. D
  59. //你的grecaptcha后端服务器地址) L* a2 c  B; y" f9 s) z
  60. var grecaptchaPostServer = "";* e. Z+ v( Z* a5 i# m. L5 {6 W! _8 x
  61. function recaptcha() {
    6 Q# A  |5 ]2 J* n6 }9 b
  62.     grecaptcha.ready(function() {
    : Z/ T+ h1 G$ v" s( ?% @' H
  63.         grecaptcha.execute(token).then(function(token) {
    / ]7 s( U; Z$ |+ L7 W0 m5 A( B$ U
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");# a/ y! e; |% ~
  65.             var o = document.createElement("img");
    * p- c3 [' h6 F, V6 f
  66.             o.style.display = "none";
    # o  M3 V* `; r: T
  67.             $.ajax({1 q% m% c+ ?$ f# A! {- C
  68.                 url: grecaptchaPostServer,
    7 A9 Y: z* i) B. z
  69.                 type: 'POST',+ N0 l% ?- O! ~0 P
  70.                 data: {"token":token,"ip":ip},
    7 u& c7 \3 q3 E% A+ R* ?
  71.                 success: function(data) {
    5 w& d( {$ G" B& Y# m
  72.                     if(data.score > 0.4){2 @$ E" `6 q, j8 i, q. E5 X& E( q
  73.                         score = 1;5 y9 V6 s$ @0 X: O
  74.                     }else{
    ; B, |$ O1 k: d; p9 l
  75.                         score = 0;
    . K5 i, B* _  Y" p" b3 b% t4 j
  76.                     }
    & n9 Z8 a9 B8 Y) d3 G7 i
  77.                     o.src = trackHost + '?event2='+score;
    9 \! s- ~7 Y2 b4 A2 j, l1 \
  78.                     document.body.append(o)
    + q, {4 l; k) x$ r% [6 M$ @
  79.                 }- _1 Q8 g5 G- Z0 {. a
  80.             });3 `2 w; l" i, f; c4 P% W. l
  81. ( n2 ~' i) ?, o: b, s# J
  82.         });) S" U# b& p' |8 X
  83.     });' N& w" h: e9 }  g3 w
  84. }
复制代码
* C% q0 @7 x" F* @  P- N7 a

" j1 K( s7 \$ a2 `. i  T4 I& j. B! F1 p9 i. q& S
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可: [2 V) Y. u+ e! J5 I# ?7 H

9 e2 O8 h; V( l; K& w. X# z- M( w$ u2 o

/ U' g/ ]5 c& N4 _" I" A$ S! J
: y1 w+ v) S* z$ ^3 h/ d
; s0 C% C5 j9 ^0 T; R; y
" V2 ~  l9 s2 d- ^4 o

本帖子中包含更多资源

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

x

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

755

广告币

1125

积分

中级会员

Rank: 3Rank: 3

积分
1125
发表于 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 | 显示全部楼层
补充下:- ?6 p7 l; T: Y! q3 p7 }
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
4 S5 Y4 G/ Y- |
  1. var times = 0;
    2 r) l+ c% w, I2 _$ {
  2. function aliveCheck() {9 p% v7 }4 A7 T5 m
  3.     setInterval("checklive()","1000");
    1 L/ j5 J/ F* g8 b, T$ J8 j) k
  4. }
复制代码
1 _0 d; q! ?8 o# D4 e
修改为:
7 O5 p/ c9 i5 y# z0 }! o
  1. var times = 0;
    ) Q# S0 a5 _3 \6 G
  2. function aliveCheck() {
    9 m* ~- z' B3 K% F$ f) s
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    + K! |- \0 j! i$ d. T) k" J4 `
  4.     setInterval("checklive()","5000");
    5 S7 F8 h& ?" _0 ?# P  S& N
  5. }
复制代码
( F" n! _3 K) g$ ]2 E2 I
追踪器压力明显降低。。。。7 t: o- j1 }- ^) V( p
! ?8 `# w1 O4 E7 O5 H3 N$ `
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

463

广告币

635

积分

中级会员

Rank: 3Rank: 3

积分
635
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
, i0 B/ I8 T0 W  H- M3 Q, y补充下:2 ~3 @3 l" l" Z$ O& z6 [
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...
) M& ^+ C+ ~8 S9 w: Q
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为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
5 K6 N) }8 j8 i: i) C0 D2 j4 A1 r虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
, u- S  g7 J/ m) J, w
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
- _" M5 L- p2 r6 M7 u这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1130

广告币

1713

积分

高级会员

Rank: 4

积分
1713

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16$ H6 j. o6 {8 k# |4 M7 ~$ m
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。; d7 Y. V; @1 U; g) P
这个就是js ...

; ?8 j  n% D4 Q  o7 Y2 E2 X老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有  详情 回复 发表于 2022-1-11 15:56
回复 支持 反对

使用道具 举报

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
- E# `* F  {0 N9 @9 c: \老哥能说明白点吗?在LP哪个位置调用、怎么调用
" S# d6 F& j% h( ?% N' m
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1130

广告币

1713

积分

高级会员

Rank: 4

积分
1713

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56$ z$ w, F; |+ G* [
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

7 J5 n& f4 }  B1 V谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

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-2-22 23:23 , Processed in 0.051998 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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