美团拼图滑块

有时候放弃也是一种智慧。

 就像这说的一样,美团的拼图滑块,不知道这个缺口该怎么去处理,正常划顶到最外面去了,所以就不知道这个是咋计算的。

 先来看看他的这个加密,跟原来的一划到底其实是一样的,难度只是在轨迹的处理上,我觉得还是一划到底简单点,然后的话拼图滑块取消了sign跟sess的计算。

这就叫给你关了一扇门,又给你打开了一扇窗,各有各的难。

behavior值:包含了时间,滑动距离的验证。

token也是一样的流程: 然后轨迹信息在这个ft,mt中,mt为倒叙的behiver_info['trajectory'][0]['point']信息,这个可以去看看,不过最后一个时间值不同,找了几次规律发现时间差为37,47。大家也可以去试试看。

分享一个自己写的轨迹处理:

def get_tracks(distance):trajectory=[]track_token_ft=[]track_token_mt=[]ts=int(time.time()*1000)cts=int(int(time.time()*1000)+random.random()*(10**6))first_x=826first_y=random.randint(400,410)behiver_info={"env": {"Type": 1,"zone": [[first_y-72,first_y-3],[296,222],[296,44]],"client": [803,388],"Timestamp": [ts,cts],"count": 1,"timeout": 0},"trajectory": [{"point": [[0,826,403,cts-ts],[0,827,403,190805],[0,828,403,190821],[0,829,403,190837],[0,830,403,190854],[0,831,403,190869],[0,832,403,190901],[0,833,403,190917],[0,834,403,190933],[0,835,403,190957],[0,836,403,190965],[0,837,403,190981],[0,838,403,191015],[0,840,403,191037],[0,841,403,191045],[0,843,403,191061],[0,844,403,191077],[0,846,403,191085],[0,847,403,191101],[0,849,403,191117],[0,850,403,191125],[0,852,403,191133],[0,853,403,191149],[0,855,403,191157],[0,856,403,191173],[0,857,403,191181],[0,858,403,191189],[0,859,403,191213],[0,860,403,191229],[0,861,403,191237],[0,862,403,191253],[0,864,403,191269],[0,865,403,191285],[0,867,403,191301],[0,868,403,191317],[0,869,403,191333],[0,871,403,191341],[0,873,403,191357],[0,874,403,191365],[0,876,403,191381],[0,878,403,191389],[0,879,403,191397],[0,881,403,191413],[0,882,403,191421],[0,883,403,191429],[0,884,403,191453],[0,885,403,191461],[0,886,403,191477],[0,887,403,191485],[0,888,403,191493],[0,889,403,191501],[0,890,403,191509],[0,891,403,191517],[0,892,403,191525],[0,893,403,191541],[0,894,403,191549],[0,895,403,191565],[0,896,403,191573],[0,898,403,191581],[0,899,403,191597],[0,901,403,191605],[0,903,403,191621],[0,904,403,191629],[0,905,403,191637],[0,906,403,191645],[0,907,403,191653],[0,910,403,191661],[0,911,403,191677],[0,913,403,191685],[0,914,403,191701],[0,916,403,191718],[0,917,403,191725],[0,918,403,191733],[0,919,403,191741],[0,921,403,191749],[0,922,403,191757],[0,923,403,191766],[0,925,403,191773],[0,926,403,191781],[0,927,403,191797],[0,928,403,191805],[0,929,403,191814],[0,930,403,191821],[0,931,403,191829],[0,932,403,191837],[0,933,403,191846],[0,934,403,191853],[0,936,403,191862],[0,938,403,191869],[0,939,403,191885],[0,941,403,191893],[0,942,403,191909],[0,944,403,191933],[0,945,403,191965],[0,947,403,191981],[0,948,403,191997],[0,950,403,192005],[0,951,403,192013],[0,953,403,192021],[0,954,403,192029],[0,955,403,192037],[0,956,403,192045],[0,957,403,192053],[0,958,403,19206],[0,959,403,192069],[0,960,403,192077],[0,961,403,192093],[0,962,403,192101],[0,963,403,192109],[0,964,403,192125],[0,966,403,192133],[0,967,403,192149],[0,969,403,192157],[0,970,403,192173],[0,972,403,192181],[0,973,403,192197],[0,974,403,192205],[0,975,403,192213],[0,976,403,192229],[0,977,403,192245],[0,978,403,192261],[0,979,403,192277],[0,980,403,192285],[0,982,403,192293],[0,985,403,192309],[0,987,403,192317],[0,989,403,192325],[0,991,403,192333],[0,992,403,192349],[0,994,403,192357],[0,996,403,192381],[0,997,403,192405],[0,998,403,192437],[0,999,403,192445],[0,1000,403,192461],[0,1001,403,192477],[0,1003,403,192509],[0,1004,403,192525],[0,1006,403,192550],[0,1007,403,192573],[0,1008,403,192597],[0,1009,403,192613],[0,1010,403,192629],[0,1011,403,192669],[0,1012,403,192765],[0,1013,403,192781],[0,1014,403,192814]],"vector": {"orientation": "h"}}]}strat_time=int(cts-ts)trajectory.append([0,first_x,first_y,strat_time])for points in range(1,distance):next_x=first_x+pointsnext_y=first_y+random.randint(-1,1)strat_time=int(strat_time+random.randint(5,25))if next_x-first_x!=distance:trajectory.append([0,next_x,next_y,strat_time])else:breakprint("distance:",trajectory[-1][1]-trajectory[0][1])behiver_info['trajectory'][0]['point']=trajectoryprint('behiver_info:',behiver_info)# timeout=behiver_info['env']['Timestamp'][1]-behiver_info['env']['Timestamp'][0]# print(timeout)# timeout=behiver_info['trajectory'][0]['point'][0][3]# print(timeout)# behiver_dis=behiver_info['trajectory'][0]['point'][-1][1]-behiver_info['trajectory'][0]['point'][0][1]# print(behiver_dis)token_mt=["1014,403,192851","1013,403,192818","1012,403,192802","1011,403,192706","1010,403,192666","1009,403,192650","1008,403,192634","1007,403,192610","1006,403,192587","1004,403,192562","1003,403,192546","1001,403,192514","1000,403,192498","999,403,192482","998,403,192474","997,403,192442","996,403,192418","994,403,192394","992,403,192386","991,403,192370","989,403,192362","987,403,192354","985,403,192346","982,403,192330","980,403,192322","979,403,192314","978,403,192298","977,403,192282","976,403,192266","975,403,192250","974,403,192242","973,403,192234","972,403,192218","970,403,192210","969,403,192194","967,403,192186","966,403,192170","964,403,192162","963,403,192146","962,403,192138","961,403,192130","960,403,192114","959,403,192106","958,403,192098","957,403,192090","956,403,192082","955,403,192074","954,403,192066","953,403,192058","951,403,192050","950,403,192042","948,403,192034","947,403,192018","945,403,192002","944,403,191970","942,403,191946","941,403,191930","939,403,191922","938,403,191906","936,403,191899"] ####倒序behiver_info['trajectory'][0]['point']for points in trajectory[::-1][0:60]:track_token_mt.append(f"{points[1]},{points[2]},{int(points[3])+37}")print('track_token_mt:',track_token_mt)first_x_ft=first_x+10first_y_ft=distance-37strat_time_ft=2858track_token_ft.append(f"{first_x_ft},{first_y_ft},{strat_time_ft}")next_first_x_ft = first_x_ft - random.randint(1, 3)next_first_y_ft = first_y_ft - random.randint(1, 3)next_strat_time_ft = strat_time_ft - random.randint(10, 30)track_token_ft.append(f"{next_first_x_ft},{next_first_y_ft},{next_strat_time_ft}")for i in range(0,59):next_first_x_ft=next_first_x_ft-1next_first_y_ft=next_first_y_ft-2if next_first_y_ft<=0 or next_first_y_ft<=1:next_strat_time_ft=next_strat_time_ft-itrack_token_ft.append(f"{next_first_x_ft},{next_first_y_ft+(-next_first_y_ft)+2},{next_strat_time_ft}")else:track_token_ft.append(f"{next_first_x_ft},{next_first_y_ft},{next_strat_time_ft}")last_ft_x=int(track_token_ft[-1][0].strip(',')[0])last_ft_time = track_token_ft[-1].split(',')[-1]track_token_ft.append(f"{last_ft_x},{0},{last_ft_time}")token_info={"v": "2.2.2","ts": ts,"cts": int(time.time()*1000),"brVD": [1920,487],"brR": [[1920,1080],[1920,1050],24,24],"bI": ["https://verify.meituan.com/v2/web/general_page?action=spiderindefence&requestCode=becca4f50deb45dab160f17ebc43b8fd&platform=1000&adaptor=auto&succCallbackUrl=https%3A%2F%2Foptimus-mtsi.meituan.com%2Foptimus%2FverifyResult%3ForiginUrl%3Dhttps%253A%252F%252Fwww.meituan.com%252F","https://passport.meituan.com/"],"aM": "","broP": ["PDF Viewer","Chrome PDF Viewer","Chromium PDF Viewer","Microsoft Edge PDF Viewer","WebKit built-in PDF"],"cV": "606031946ed0a0ab251a38223152c059","wV": "WebKit","wR": "WebKit WebGL","wVU": "Google Inc. (NVIDIA)","wRU": "ANGLE (NVIDIA, NVIDIA GeForce GT 1030 Direct3D11 vs_5_0 ps_5_0, D3D11)","aF": "","wI": "3166190811","wC": "{\"platform\":\"Win32\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\",\"contextName\":\"webgl2\",\"glVersion\":\"WebGL 2.0 (OpenGL ES 3.0 Chromium)\",\"shadingLanguageVersion\":\"WebGL GLSL ES 3.00 (OpenGL ES GLSL ES 3.0 Chromium)\",\"vendor\":\"WebKit\",\"renderer\":\"WebKit WebGL\",\"unMaskedVendor\":\"Google Inc. (NVIDIA)\",\"unMaskedRenderer\":\"ANGLE (NVIDIA, NVIDIA GeForce GT 1030 Direct3D11 vs_5_0 ps_5_0, D3D11)\",\"antialias\":\"Available\",\"angle\":\"Yes, D3D9\",\"majorPerformanceCaveat\":\"No\",\"maxColorBuffers\":8,\"redBits\":8,\"greenBits\":8,\"blueBits\":8,\"alphaBits\":8,\"depthBits\":24,\"stencilBits\":8,\"maxRenderBufferSize\":16384,\"maxCombinedTextureImageUnits\":32,\"maxCubeMapTextureSize\":16384,\"maxFragmentUniformVectors\":1024,\"maxTextureImageUnits\":16,\"maxTextureSize\":16384,\"maxVaryingVectors\":30,\"maxVertexAttributes\":16,\"maxVertexTextureImageUnits\":16,\"maxVertexUniformVectors\":4095,\"aliasedLineWidthRange\":\"[1, 1]\",\"aliasedPointSizeRange\":\"[1, 1024]\",\"maxViewportDimensions\":\"[32767, 32767]\",\"maxAnisotropy\":16,\"vertexShaderBestPrecision\":\"[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)\",\"fragmentShaderBestPrecision\":\"[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)\",\"fragmentShaderFloatIntPrecision\":\"highp/highp\",\"webglExtensions\":[\"ANGLE_instanced_arrays\",\"EXT_blend_minmax\",\"EXT_color_buffer_half_float\",\"EXT_disjoint_timer_query\",\"EXT_float_blend\",\"EXT_frag_depth\",\"EXT_shader_texture_lod\",\"EXT_texture_compression_bptc\",\"EXT_texture_compression_rgtc\",\"EXT_texture_filter_anisotropic\",\"EXT_sRGB\",\"KHR_parallel_shader_compile\",\"OES_element_index_uint\",\"OES_fbo_render_mipmap\",\"OES_standard_derivatives\",\"OES_texture_float\",\"OES_texture_float_linear\",\"OES_texture_half_float\",\"OES_texture_half_float_linear\",\"OES_vertex_array_object\",\"WEBGL_color_buffer_float\",\"WEBGL_compressed_texture_s3tc\",\"WEBGL_compressed_texture_s3tc_srgb\",\"WEBGL_debug_renderer_info\",\"WEBGL_debug_shaders\",\"WEBGL_depth_texture\",\"WEBGL_draw_buffers\",\"WEBGL_lose_context\",\"WEBGL_multi_draw\"],\"maxColorBuffers2\":1,\"webgl2Extensions\":[\"EXT_color_buffer_float\",\"EXT_color_buffer_half_float\",\"EXT_disjoint_timer_query_webgl2\",\"EXT_float_blend\",\"EXT_texture_compression_bptc\",\"EXT_texture_compression_rgtc\",\"EXT_texture_filter_anisotropic\",\"EXT_texture_norm16\",\"KHR_parallel_shader_compile\",\"OES_draw_buffers_indexed\",\"OES_texture_float_linear\",\"OVR_multiview2\",\"WEBGL_compressed_texture_s3tc\",\"WEBGL_compressed_texture_s3tc_srgb\",\"WEBGL_debug_renderer_info\",\"WEBGL_debug_shaders\",\"WEBGL_lose_context\",\"WEBGL_multi_draw\",\"WEBGL_provoking_vertex\"],\"maxVertexUniformComponents\":16380,\"maxVertexUniformBlocks\":12,\"maxVertexOutputComponents\":120,\"maxVaryingComponents\":120,\"maxFragmentUniformComponents\":4096,\"maxFragmentUniformBlocks\":12,\"maxFragmentInputComponents\":120,\"minProgramTexelOffset\":-8,\"maxProgramTexelOffset\":7,\"maxDrawBuffers\":8,\"maxColorAttachments\":8,\"maxSamples\":8,\"max3dTextureSize\":2048,\"maxArrayTextureLayers\":2048,\"maxTextureLodBias\":2,\"maxUniformBufferBindings\":24,\"maxUniformBlockSize\":65536,\"uniformBufferOffsetAlignment\":256,\"maxCombinedUniformBlocks\":24,\"maxCombinedVertexUniformComponents\":212988,\"maxCombinedFragmentUniformComponents\":200704,\"maxTransformFeedbackInterleavedComponents\":120,\"maxTransformFeedbackSeparateAttribs\":4,\"maxTransformFeedbackSeparateComponents\":4,\"maxElementIndex\":4294967294,\"maxServerWaitTimeout\":0,\"webgl2Functions\":[\"copyBufferSubData\",\"getBufferSubData\",\"blitFramebuffer\",\"framebufferTextureLayer\",\"getInternalformatParameter\",\"invalidateFramebuffer\",\"invalidateSubFramebuffer\",\"readBuffer\",\"renderbufferStorageMultisample\",\"texStorage2D\",\"texStorage3D\",\"texImage3D\",\"texSubImage3D\",\"copyTexSubImage3D\",\"compressedTexImage3D\",\"compressedTexSubImage3D\",\"getFragDataLocation\",\"uniform1ui\",\"uniform2ui\",\"uniform3ui\",\"uniform4ui\",\"uniform1uiv\",\"uniform2uiv\",\"uniform3uiv\",\"uniform4uiv\",\"uniformMatrix2x3fv\",\"uniformMatrix3x2fv\",\"uniformMatrix2x4fv\",\"uniformMatrix4x2fv\",\"uniformMatrix3x4fv\",\"uniformMatrix4x3fv\",\"vertexAttribI4i\",\"vertexAttribI4iv\",\"vertexAttribI4ui\",\"vertexAttribI4uiv\",\"vertexAttribIPointer\",\"vertexAttribDivisor\",\"drawArraysInstanced\",\"drawElementsInstanced\",\"drawRangeElements\",\"drawBuffers\",\"clearBufferiv\",\"clearBufferuiv\",\"clearBufferfv\",\"clearBufferfi\",\"createQuery\",\"deleteQuery\",\"isQuery\",\"beginQuery\",\"endQuery\",\"getQuery\",\"getQueryParameter\",\"createSampler\",\"deleteSampler\",\"isSampler\",\"bindSampler\",\"samplerParameteri\",\"samplerParameterf\",\"getSamplerParameter\",\"fenceSync\",\"isSync\",\"deleteSync\",\"clientWaitSync\",\"waitSync\",\"getSyncParameter\",\"createTransformFeedback\",\"deleteTransformFeedback\",\"isTransformFeedback\",\"bindTransformFeedback\",\"beginTransformFeedback\",\"endTransformFeedback\",\"transformFeedbackVaryings\",\"getTransformFeedbackVarying\",\"pauseTransformFeedback\",\"resumeTransformFeedback\",\"bindBufferBase\",\"bindBufferRange\",\"getIndexedParameter\",\"getUniformIndices\",\"getActiveUniforms\",\"getUniformBlockIndex\",\"getActiveUniformBlockParameter\",\"getActiveUniformBlockName\",\"uniformBlockBinding\",\"createVertexArray\",\"deleteVertexArray\",\"isVertexArray\",\"bindVertexArray\"]}","aG": "325","wA": "390933e72e6096e878c1b972bac13f16","fT": track_token_ft,"mT": track_token_mt,"kT": [],"aT": ["1004,28,DIV,4318158"],"tT": [],"dT": ["827,411,rect,211510"],"sT": [],"inputs": [],"buttons": [],"fL": "3c9243fc96d5e34649a98b502d509451"}print('track_token_ft:',track_token_ft)return {'behiver_info': behiver_info,'token_info': token_info}

 还有个难点就是这个请求头的Authencation值,hock一下看看。

(function() {var org = window.XMLHttpRequest.prototype.setRequestHeader;window.XMLHttpRequest.prototype.setRequestHeader = function(key, value) {console.log(key, ':', value)if (key == 'Authencation') {debugger ;}return org.apply(this, arguments);};
}
)();

在这里 

然后就没然后了,基本上关键的入口都找完了。

 

这个识别是有问题的,所以在线征集meituan选手一起玩玩。 

每天都在被洗脑,哈哈

完事儿了哦,大表哥们。有问题可以给我留言。或者V:15702312233

记得关注我们的作坊:图腾视觉开放平台-高速、稳定、易用的webapi接口调用 (现已合作大佬超乎你想象)图腾视觉-OCR识别平台

提示:有问题的小伙伴可以私信讨论。

重要的事儿说三遍 :若是侵权请联系作者删,若是侵权请联系作者删,若是侵权请联系作者删。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一例plugx样本的分析(AcroRd32cWP)

这是一例plugx的样本&#xff0c;使用了一个合法签名的程序 &#xff0c;使用侧加载的方式加载一个恶意的dll&#xff0c;解密一个dat文件来&#xff0c;在内存中执行一个反射型dll来完成恶意功能。 这个病毒会使用摆渡的方式的来窃取内网的文档数据&#xff0c;具有严重的失泄…

【FastCAE源码阅读9】鼠标框选网格、节点的实现

一、VTK的框选支持类vtkInteractorStyleRubberBandPick FastCAE的鼠标事件交互类是PropPickerInteractionStyle&#xff0c;它扩展自vtkInteractorStyleRubberBandPick。vtkInteractorStyleRubberBandPick类可以实现鼠标框选物体&#xff0c;默认情况下按下键盘r键开启框选模式…

【JVM】类加载器 Bootstrap、Extension、Application、User Define 以及 双亲委派

以下环境为 jdk1.8 两大类 分类成员语言继承关系引导类加载器bootstrap 引导类加载器C/C无自定义类加载器extension 拓展类加载器、application 系统/应用类加载器、user define 用户自定义类加载器Java继承于 java.lang.ClassLoader 四小类 Bootstrap 引导类加载器 负责加…

Jenkins的介绍与相关配置

Jenkins的介绍与配置 一.CI/CD介绍 &#xff11;.CI/CD概念 ①CI 中文意思是持续集成 (Continuous Integration, CI) 是一种软件开发流程&#xff0c;核心思想是在代码库中的每个提交都通过自动化的构建和测试流程进行验证。这种方法可以帮助团队更加频繁地交付软件&#x…

【教3妹学编辑-mysql】mybatis查询条件遇到的坑及解决方案

2哥 :3妹&#xff0c;今天怎么下班这么晚啊。 3妹&#xff1a;嗨&#xff0c;别提了&#xff0c;今天线上出bug了&#xff0c; 排查了好久。 2哥&#xff1a;啊&#xff0c;什么问题呀&#xff1f; 3妹&#xff1a;我们内部的一个管理系统报错了&#xff0c; 最近排查下来是myb…

AR工业眼镜:智能化生产新时代的引领者!!

科技飞速发展&#xff0c;人工智能与增强现实&#xff08;AR&#xff09;技术结合正在改变生活工作方式。AR工业眼镜在生产领域应用广泛&#xff0c;具有实时信息展示、智能导航定位、远程协作培训、智能安全监测等功能&#xff0c;提高生产效率、降低操作风险&#xff0c;为企…

dolphinscheduler

架构说明 MasterServer MasterServer采用分布式无中心设计理念&#xff0c;MasterServer主要负责 DAG 任务切分、任务提交监控&#xff0c;并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点&#xff0c;通过监听Zookeep…

压测工具主要功能是什么?该怎样选择?

压测工具是一类用于模拟并评估系统在不同负载条件下的性能的软件应用程序。通过模拟大量用户同时访问系统&#xff0c;压测工具能够帮助开发者识别系统的瓶颈、性能瓶颈以及潜在的故障点。这种实时、模拟的方式允许开发者在正式投入使用之前发现并解决问题&#xff0c;提高系统…

使用JDBC连接数据库出现The server time zone value ‘�й���׼ʱ��‘ is unrecognized 的解决方案

看到网上的大佬们说是引入的依赖版本太高所以导致了时区有问题 但是我把依赖的版本改低了还是报错 用另一种办法直接在配置文件中修改url然后成功解决 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/datasource?useUnicodetrue&characterEncodingutf8&useSSL…

vue day1(主要是指令)

1、引包 或者&#xff1a;cdn网址 2、创建实例&#xff0c;初始化渲染 3、插值表达式 {{}} 表达式&#xff1a;可以被求值的代码 4、响应式数据&#xff1a;数据发生变化&#xff0c;视图自动更新&#xff08;底层是dom操作&#xff09; data中数据会被添加到实例上&#x…

CSDN规则详解——如何申请成为博客专家

文章目录 前言博客专家如何成为博客专家&#xff1f;博客专家列表后记 前言 博客专家是csdn推出的&#xff0c;很多童鞋可能还不知道如何申请成为博客专家或者成为博客专家之后有什么用。成为博客专家可以让您在专业领域分享您的知识和经验&#xff0c;与更多的读者建立联系&a…

如何进行iOS技术博客的备案?

​ 如何进行iOS技术博客的备案&#xff1f; 标题&#xff1a;iOS技术博客备案流程及要求解析 摘要&#xff1a; 在本篇问答中&#xff0c;我们将为iOS技术博主介绍如何进行备案。如果你的iOS应用只包含简单的页面&#xff0c;并通过蓝牙进行数据采集和传输&#xff0c;那么你…

Rust编程中的共享状态并发执行

1.共享状态并发 虽然消息传递是一个很好的处理并发的方式&#xff0c;但并不是唯一一个。另一种方式是让多个线程拥有相同的共享数据。在学习Go语言编程过程中大家应该听到过一句口号:"不要通过共享内存来通讯"。 在某种程度上&#xff0c;任何编程语言中的信道都类…

消息队列简介

什么是消息队列?&#xff08;Message queue&#xff0c;简称MQ&#xff09; 从字面理解就是一个保存消息的一个容器。那么我们为何需要这样一个容器呢&#xff1f; 其实就是为了解耦各个系统&#xff0c;我们来举个例子&#xff1a; 有这么一个简单的场景&#xff0c;系统A负…

Power Automate-与Microsoft Forms连接

创建自动化云端流&#xff0c;流的触发器选择第一个提交新回复时 点击蓝色的Change connection&#xff0c;登录创建Microsoft Forms表单的账号 选择提前创建的表单&#xff1b;如果想连接其他账号创建的Microsoft Forms表单&#xff0c;可以再次点击蓝色的Change connection&a…

DVWA - 3

文章目录 XSS&#xff08;Dom&#xff09;lowmediumhighimpossible XSS&#xff08;Dom&#xff09; XSS 主要基于JavaScript语言进行恶意攻击&#xff0c;常用于窃取 cookie&#xff0c;越权操作&#xff0c;传播病毒等。DOM全称为Document Object Model&#xff0c;即文档对…

【k8s集群搭建(一):基于虚拟机的linux的k8s集群搭建_超详细_解决并记录全过程步骤以及自己的踩坑记录】

虚拟机准备3台Linux系统 k8s集群安装 每一台机器需要安装以下内容&#xff1a; docker:容器运行环境 kubelet:控制机器中所有资源 bubelctl:命令行 kubeladm:初始化集群的工具 Docker安装 安装一些必要的包&#xff0c;yum-util 提供yum-config-manager功能&#xff0c;另两…

软件工程分析报告07测试计划书——基于Paddle的肝脏CT影像分割

目录 测试计划书 1. 引言 2. 测试目标 3. 测试方法 3.1 黑盒测试 (1)等价类划分&#xff1a; (2)边界值分析&#xff1a; (3)因果图&#xff1a; ​编辑&#xff08;4&#xff09;错误推测法 3.2 白盒测试 测试用例&#xff01;&#xff01; 4. 测试环境 5. 测试计划 6…

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中&#xff0c;该注解会失效&#xff01; 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…

MySQL时间类型注意事项

MySQL常见的时间类型有YEAR、DATE、TIME、DATETIME、TIMESTAMP&#xff0c;绝大多数业务都是精确到秒的&#xff0c;所以通常用后两种。并且MySQL5.6以后后两种支持精度到毫秒&#xff08;最多小数点后6位&#xff09; DATETIME占8字节&#xff0c;不论要不要毫秒 TIMESTAMP占4…