找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值Facebook 批量上广告
尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)
IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手TK加白户/二解户/FB海外户/GG老户最大欧洲Nutra网盟BA找量
FB高权重耐操个号⚡️稳定过审GG,FB,TK, 欧美源头, 欢迎合作❤️FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇
⚡️Spend.net — 美元卡仅需$0⚡️✔Taboola海外户广告位出租虚拟卡返佣1%,国内持牌机构
查看: 14028|回复: 10

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-9-14 10:27 编辑
1 L' }  ~/ C9 M5 Q7 O+ [3 ~2 p6 S/ v0 ?) u' K. l
开个头-------------持续亏钱ing。。。。
5 p" w6 {, \& `* f3 A5 @! O: y  a$ J3 w0 \0 q! L. N
: _5 ]# c3 U2 w+ |
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。2 o+ S, g% V3 P
) k2 N9 {' e7 i: m! ]
基本效果么 可以查看这篇帖子( k9 W' G0 \& ~# }
https://www.advertcn.com/thread-99669-1-1.html% Q0 I, @6 U& ^( R6 [" C

" H/ T, u8 ~4 n+ y2 d, o3 U/ v4 J- ~2 T/ H! |# d+ P0 o6 E
但是要强调下:脚本永远只能作为参考和辅助,0 Z: h; i% W, O; i8 M# o$ k! z! e

& Y( `. D# F0 e9 Y
  1. //your track host
    " o# F/ x- v+ ^& F; ^. k: g+ q
  2. var trackHost = "";
    8 m6 j9 }9 T6 |6 ?
  3. " B% i# m2 L3 B) e* [+ s4 F8 F
  4. /**
    / N- O+ Z0 q, q5 W0 |" G
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一: z  O1 d, \- U1 ~
  6. * 使用方式  直接调用jsSuportCheck()
    6 o6 \2 {% s/ o4 M+ `; K
  7. *      1.trackHost 指向你的追踪器,
    / I, w, @0 c. h: O& _5 A7 l8 Y
  8. *      2.修改 event1 为你自己的event
    ' P7 [  W3 ]4 S
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)2 ~5 `- }$ S( n
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    & g$ B1 k8 F$ W. F$ h2 I! Y: m
  11. */4 K6 W/ T  ^) f" n) E. b% U; E' e; d
  12. function jsSuportCheck() {
    2 F! e( Q5 P" B$ M
  13.     var o = document.createElement("img");
    + a9 n0 ], O+ \
  14.     o.style.display = "none";
    # N+ [4 ~" m8 L1 |
  15.     o.src= trackHost + '?event1=1';6 Q1 x8 G+ W* h$ K& W0 V
  16.     document.body.appendChild(o)* T- k/ o: \+ i
  17. }
    6 i+ M1 k2 G) b( u  Z2 G3 |
  18. + c3 i$ u; B- |) j
  19.   W5 {8 B, O, {& s6 j/ j
  20. /**2 k; X( w3 ]5 m# N8 X% a$ N
  21. * 2.页面存活时间
    - B7 \% h3 O8 {1 v* t+ @
  22. * 使用方式 直接调用 aliveCheck()3 X/ n% t% X9 h# [& J, F9 w- z- H
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event4 k& w) `* a3 r' C0 g
  24. *      1.trackHost 指向你的追踪器,
    # T$ E; h) q( v
  25. *      2.修改 event3 为你自己的event8 Z1 v) s- [3 B9 o+ Q$ J' M! L
  26. *      4.追踪器上 event3 = 页面存活时间
    ; P/ M/ M. H, f1 P6 S9 A
  27. *
    1 d+ i2 \, e5 J9 i2 @5 K) t
  28. * 数据说明:) [3 S  G5 u1 M5 N( I
  29. *  1.时间为0( O3 Q3 a# e- z& M5 l: }: i, y
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
    8 [" F  ]% U, r4 a+ s% u/ s- W
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck! M/ Q) ^  W7 I& Y6 q7 I
  32. *  2.时间不为0; B9 z9 o) T- ?- s, _9 k
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常# y  P5 z$ |/ D2 w5 u5 G
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
    - Z( r1 ?- O7 s, L3 w& l
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以: h' N$ ]5 \( G6 |
  36. *
    . ], j) Y2 ]* D3 V3 x8 H. a
  37. */
    9 E2 G; B1 K- S- v3 ^2 J, G. z

  38. $ G" G# m5 r/ J: E) A+ d0 S' _
  39. var times = 0;' V& E" F  {5 w, q) Y' f  v
  40. function aliveCheck() {5 @5 q$ }7 Q1 @, F
  41.     setInterval("checklive()","1000");
    . s  e- ]! H8 y- ^) ]
  42. }5 u. Q  P4 e2 Z* O" L
  43. function checklive() {5 s9 R( }& K7 X- O1 e7 a9 c( g1 h
  44.     times += 1;& W  N5 O( ]) A8 [; A6 u
  45.     var o = document.createElement("img");
      ?2 G: L2 l3 x" w
  46.     o.style.display = "none";: `: \: z. A' d: d( _. O9 v, _
  47.     o.src = trackHost + "?event3=" + times;" J! q5 |. {  S/ j5 D" K! l
  48. }
    ! [0 }" h# O* u$ B

  49. & p: X' p0 E: _1 W
  50. : X: G% J' u) r( `
  51. /**! m3 x/ p1 n+ h, o
  52. * 谷歌验证/ F9 {; D( M' P; Y# `* S
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    ( z% y- @8 L4 t8 h& U/ u
  54. *
    : k+ I* ]2 H& Q$ r1 R! @" o+ m- j0 N
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    + S- U0 O4 r9 m
  56. */
    5 g9 {8 o% B9 g9 o8 a$ L4 k
  57. //申请的grecaptcha前端token
    0 q) L3 l; N0 {5 H4 F
  58. var token = "";
    0 `; H! U3 V6 ^( s* R. c
  59. //你的grecaptcha后端服务器地址1 r2 ?/ y# C6 _3 ~" L6 G+ e5 |  A
  60. var grecaptchaPostServer = "";
    % a1 h* e  d5 X" }) f
  61. function recaptcha() {
    - l3 d" d- g, l& u; h
  62.     grecaptcha.ready(function() {1 S& e1 y. X- y0 @
  63.         grecaptcha.execute(token).then(function(token) {
    ( _* R" z6 V$ N% z8 V% c9 |7 k
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    0 p) c# K; u' E+ s, I
  65.             var o = document.createElement("img");/ o/ P: E+ G% v1 O- E5 o
  66.             o.style.display = "none";( i$ ^" e' z, ~' a& P
  67.             $.ajax({, _) d5 Z1 R9 M6 G
  68.                 url: grecaptchaPostServer,. f* f) Q1 p$ u; }9 l: k- y
  69.                 type: 'POST',
    ; `' ~* e8 U9 C; _
  70.                 data: {"token":token,"ip":ip},4 m! ^% L) y, m) U7 A- f; B; W+ r
  71.                 success: function(data) {0 I8 f5 ]0 ]2 ?
  72.                     if(data.score > 0.4){
    . a; ?& x6 Q" U6 R4 `
  73.                         score = 1;  a4 ?7 P* O3 l  G
  74.                     }else{
    % a* R2 W) c: G: ]& i+ ]9 b3 `
  75.                         score = 0;6 W- V% u; C2 g0 Q' M% _
  76.                     }
    $ b" u5 l! r8 }0 z; K
  77.                     o.src = trackHost + '?event2='+score;. P0 m* D2 ]( {, h: o7 ~
  78.                     document.body.append(o)
    6 E; Z% S; r, \
  79.                 }+ b9 R& [' }$ j$ |
  80.             });
    8 ]- [, `1 ]+ v; e9 l7 b
  81. 0 ?* y4 p1 K: c
  82.         });* K6 d1 T( V" n8 }. M+ e
  83.     });
    : M7 ~* G/ X6 x. W. m2 G% r
  84. }
复制代码
9 U2 W4 h# K  Q2 K
8 ~5 b3 N0 m* }  K
* a# a  _) z2 v! z# ^
校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可  d0 J: k8 w) N, h& F) q
2 S) m" h2 e. Z5 E9 @
" L* r) {! M9 z$ c! h+ N$ S; r

: x3 V" ?) N- o0 H1 _9 U% ]4 M" _9 B7 Z
* `& D. ]1 d( P3 g8 _4 Q
& m/ p- ?7 `3 m. D: D. D3 l

本帖子中包含更多资源

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

×

评分

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

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1206

广告币

1622

积分

高级会员

积分
1622
发表于 2021-9-11 15:57:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

254

广告币

297

积分

初级会员

积分
297
发表于 2021-9-11 18:09:27 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-11 22:20:28 | 显示全部楼层
补充下:
: m8 R" Y! q9 n" `1 b9 ]/ |今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将2 d$ R* i1 V4 V9 u9 u0 t' O* C
  1. var times = 0;  H8 X/ S1 A2 o( C
  2. function aliveCheck() {  x/ {4 s8 F# p0 C! _
  3.     setInterval("checklive()","1000");
    0 ]1 L' m2 ?& S1 `' z
  4. }
复制代码
. N! f. X; v: I
修改为:
0 O1 y0 _6 q% Z8 y' u0 t
  1. var times = 0;
    " v: \% S# a9 b: N9 I5 d& C7 \
  2. function aliveCheck() {: r1 @% t4 S  m! i5 C( v
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
      G" q3 O, O5 q# R6 f
  4.     setInterval("checklive()","5000");
    ) ?4 r! m% _& O" [& b' h% i; m
  5. }
复制代码

: `1 Y1 `8 U8 |4 H7 F2 S- ^追踪器压力明显降低。。。。
; r$ H8 q  D7 w% h* M: [
+ v  r, w$ J0 Q* p; |6 v这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

490

广告币

663

积分

中级会员

积分
663
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
; @9 M' T6 J1 B  M补充下:) v3 f$ p/ I6 U# X! t3 |
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

. s1 w( g9 O2 W虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?

点评

追踪器一般都支持自定义事件 binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。 这个就是js代码,直接放在LP里 但是记得要调用!!!!!  详情 回复 发表于 2021-9-14 10:16
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-14 10:16:18 | 显示全部楼层
tonychopper 发表于 2021-9-13 19:415 I  r. X5 w% W4 J
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...
7 }) r7 c1 A8 J. U3 q" ^
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。7 N1 g/ C# p) B, T2 \4 d
这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

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

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16
7 `) X* L; ?. I* ~追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
" ?' R# Z. t. g1 y/ O6 s4 e/ @这个就是js ...

8 t1 u8 q4 }* ^" T老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

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

使用道具 举报

82

主题

647

广告币

1201

积分

高级会员

积分
1201

社区QQ达人

发表于 2022-1-8 23:02:54 来自手机 | 显示全部楼层
厉害了!
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2022-1-11 15:56:06 | 显示全部楼层
pitch 发表于 2022-1-8 20:22
9 J4 _( F9 Z9 H+ e4 @: c# M0 R老哥能说明白点吗?在LP哪个位置调用、怎么调用
2 i- s: E  S# }/ o* E" d
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

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

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:568 H8 C1 v# D3 N3 |% K) }& S0 X
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

" \5 O. B4 k6 f' l+ z6 C谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

1

主题

13

广告币

36

积分

初级会员

积分
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, 2026-8-26 07:42 , Processed in 0.082781 second(s), 24 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

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