面试官问, api 接口防篡改与防重放怎么设计?比如你们的 api 接口如果被中间人抓包,把扣款金额一百块偷偷改成一万块,你怎么防?你说加个 md 五校验呗,你这回答也太初级了。来看这里, 为什么说用 md 五不行?大家想, md 五算法是公开的,黑客把金额改成一万块,顺手用公开算法重算个新 md 五,替换掉服务端,拿到医院没问题,直接扣一万,你这叫配合黑客抢钱啊! 那怎么才能让黑客算不出合法签名?加点咱们自己人的料?看这里,我们在客户端偷偷加个绝对保密的 up secret 一 起算签名, 注意看这个蓝色包,网络传输绝对不传 secret, 黑客抓到包想改金额,不知道 secret 他 会急得直跺脚。 算不出合法签名,服务端一对比不一致,直接拦截防篡改搞定。但这就绝对安全了吗?太天真了!黑客一看签名伪造不了,他不改了,他把合法请求拦截下来,写个脚本,一秒钟原封不动,重发一万次,这就是重放攻击。 服务端验签完全合法,结果用户被重复扣了一万次钱,这锅你背吗?那应该怎么防重放攻击了?本视频的代码笔记,我整理进了两百万字的 java 与 ai 大 模型学习笔记里了,里面包含了三十多个技术站与几十个项目场景实战笔记,还有不同工作年限同学的简历模板,以及一份 java 加 ai 的 三十天面试突击学习路线,需要的话直接拿去 加时间,多过滤就请求。但如果黑客手速快,就在六十秒内疯狂重发呢?这就引出今天的大招, 大家看最下面深蓝色区域,把这个图画在脑子里,对付六十秒内的重放,咱们引入 non 一 次性随机流水号,顺着漏斗走一遍。首先客户端发请求,待时间戳加 non 加签名。 先看第一关,时间叫咽,拿当前时间减去传来的时间,大于六十秒,陈年老包直接拦截。再看第二关, reddis, 来重六十秒内的包,去 reddis 查这个 nusk 存不存在,存在说明是重放的拦截,不存在放行并存入 reddis。 重点来了,一天千万次请求全存 reddit 内存不撑爆了!看下这个绿色块存 nas 十设一个六十秒的过期时间 ttl, 因为超过六十秒的包已经被第一关拦了。 reddit 你 只需要留六十秒内的流水号, 到期自动删除释放内存,这个闭环决不决。最后看下第三关,再验签名防篡改,三关全过,安全扣款。如果还有面试官杠你,假设安卓 app 被反,翻译 app 被扒出来怎么办? 你要极其淡定的回答,只要放在客户端的东西,就没有绝对的安全。我们能做的就是不断拔高黑客破解成本,比如代码混淆,搜动态库保护、 http 证书双向绑定。把这些说完,这道题拿满分!
粉丝4612获赞3.0万

api 接口防串改与防重放怎么设计?比如你们的 api 接口,如果被中间人抓包,把扣款金额一百块偷偷改成一万块,你怎么防?你说加个 md 五叫验呗,你这回答也太初级了。来看这里,为什么说用 md 五不行?大家想, md 五算法是公开的,黑客把金额改成一万块,顺手用公开算法重算个新 md 五,替换掉 服务端,拿到医院没问题,直接扣一万,你这叫配合黑客抢钱啊!那怎么才能让黑客算不出合法签名?加点咱们自己人的料看这里,我们在客户端偷偷加个绝对保密的 up secret 一 起算签名,注意看这个蓝色包,网络传输绝对不传 secret, 黑客抓到包想改金额,不知道 secret 他 会急得直跺脚。 算不出合法签名,服务端一对比不一致,直接拦截防篡改搞定。但这就绝对安全了吗?太天真了,黑客一看签名伪造不了,他不改了,他把合法请求拦截下来,写个脚本,一秒钟原封不动,重发一万次,这就是重放攻击,服务端验签完全合法,结果用户被重复扣了一万次钱,这锅你背吗? 那应该怎么防重放攻击了?本视频的代码笔记,我整理进了两百万字的 java 与 ai 大 模型学习笔记里了,里面包含了三十多个技术站与几十个项目场景实战笔记,还有不同工作年限同学的简历模板,以及一份 java 加 ai 的 三十天面试突击学习路线,需要的话直接拿去加时间,多过滤就请求。 但如果黑客手速快,就在六十秒内疯狂重发呢?这就引出今天的大招,大家看最下面深蓝色区域,把这个图画在脑子里,对付六十秒内的重放,咱们引入 nas, 一 次性随机流水号,顺着漏斗走一遍。首先,客户端发请求带时间戳,加 nas 加签名。 先看第一关,时间叫咽,拿当前时间减去传来的时间大于六十秒,成年老包直接拦截。再看第二关 readis 来,从六十秒内的包去 readis, 查这个 null 存不存在,存在说明是重放的拦截,不存在放行并存入 readis。 重点来了,一天千万次请求全存 reddit 内存不撑爆了?看下这个绿色块存 nunchit, 设一个六十秒的过期时间 ttl, 因为超过六十秒的包已经被第一关拦了。 reddit 你 只需要留六十秒内的流水号,到期自动删除释放内存,这个闭环决不决。最后看下第三关,再验签名防篡改,三关全过,安全扣款。如果还有面试官杠你, 假设安卓 app 被反,翻译 app secret 被扒出来怎么办?你要极其淡定的回答,只要放在客户端的东西,就没有绝对的安全。我们能做的就是不断拔高黑客破解成本,比如代码混淆、搜动态库保护、 http 证书双向绑定。把这些说完,这道题拿满分!

三星万一 y 其实被严重低估了,它甚至自带系统级微信防撤回。这期视频跟大家分享几个万一 y 压箱底的设置,特别是最后一个,能让你的手机比刚买时还要流畅。首先就是这个很多人都不知道的防撤回神器。在 good luck 里面有个比较低调的插件 note star, 安装开启后,系统收到的所有通知都会被完整保留在列表里,哪怕是刘亦菲给你发了消息又撤回,这里依然能够看得到。 不过要注意的是啊,如果是被你屏蔽了通知的群聊,那就没办法了啊。既然说到通知,建议大家顺手把通知设置里的一个隐藏开关也打开,在通知的高级设置底部,把管理每个应用程序的通知类别勾选上,这样就能在长按 app 通知进入设置时看到通知的类别。 以淘宝为例啊,可以单独把营销促销这个类别给关掉,世界瞬间清净。那除了通知万一外的截屏也有不少门道。如果你不想每次截图都手动裁切状态栏,可以在屏幕截图设置里开启隐藏状态栏和导航栏。 如果像我一样有洁癖的,记得开启分享后删除截图,发送给朋友后自动清理相册就不会乱糟糟的。你要是普通的截图不够用,侧边栏的 ai 多截图是个隐藏的宝藏,你可以用它直接提取画面里的文字,让 ai 改写, 或者把视频画面转成这幅动图,自己做表情包,非常方便。 你以为这就完了? no! 万一万还有几个藏得很深的功能值得一试一个呢?是录音。在三星生活助手的迷你助手里,开启录音助手就能自动录制微信、钉钉这些第三方 app 的 语音通话了。 另一个呢,是防跳转,在安全与隐私里打开应用跳转拦截。以后再也不用担心购物节的时候,你的每个 app 都成为淘宝入口。以及在声音和震动设置里有个单独播放应用程序的声音。 这个啊,应该是其他家系统都没有做的,它能够让某个 app 脱离系统默认的音频输出限制。比如连接到蓝牙时,让导航单独通过手机扬声器播放,不干扰音乐或者播客的播放。或者带娃时,让小孩用外放看动画片,自己戴上降噪耳机听音乐。 还有一个是即传即搜,大家应该有所耳闻,但他不光能收东西,在聊天界面激活他时,还能一键给截图打码,保护隐私。而对于喜欢折腾的朋友,三星的日常程序也不能错过他呢。类似 ios 的 快捷指令,分手动和自动两种分别。举例说说, 手动的你可以做一个删除最近截图按钮,放在桌面点一下就清空过期的截图。 自动的就更有趣了,比如用折叠屏的朋友,可以设置成半折叠状态下自动旋转屏幕,并自动开启支架播放模式,省得每次都要自己调。 最后呢,就是开头提到的流畅秘籍。如果觉得手机变慢或者发热,那么 good guardians 是 十年以上老用户才懂的神器。 这里面的 tomo guardian 可以 先测温度,看看到底是谁在发热。而 galaxy app booster 建议每一次系统更新或者重启后都跑一次它呢,能优化所有应用,切实提升运行速度。当然了,万一 y 的 潜力远不止这些。如果你也有私藏的独门绝技,评论区见。

首先进入这个网页并登录,爱着打不开的可以用 chrome 点击右上角的 generate api key key, 名字随便输。 下面的到期时间 expiration, 选择 never expire, 这样我们就获得了有效期为一百年的英伟达 api key。 点击下方的 copy api key, 复制 api key 之后再打开这个网页,找到你想要的 ai 模型。 我这里以 openai 的 chatgapos 二十币举例。点击右上角的 viewcode, 再打开的页面,点击 shell, 打开软件 chatbox, 没有的先去下载并安装, 打开设置,点击模型提供方并新建名称随便输,只要你看见名字能认出来是哪个模型就行。 下面的 a p i 模式默认即可。然后点击添加 a p i 密钥,输入刚才复制的 a p i key, 打开浏览器刚才选择的模型页面,复制这段链接,这就是 a p i 主机,注意不要少复制或多复制一个字母, a p i 路径默认即可。之后点击下面的新建,打开浏览器页面,找到 model 后面的字母串及模型 id, 不 输入或输入错误的模型 id 会导致模型配置失败。 名称随便输,只要你看见名称就能明白这是哪个模型就行。 最大 token 也可以输一下,即浏览器页面中 max token 后面的数字输完之后保存配置,之后建议测试模型,软件会自动测试并打开模型支持的功能,以免后续使用时出现问题。测试完成后,保存并返回对话页面, 在右下角选择模型, 发个信息测试一下,可以看到速度也挺快的。

面试官问公司想全员接入顶级的外部大模型,提高效率,但怎么防止员工不小心把公司的核心原码、客户隐私,甚至高管的财务数据发给外部 a p i? 一 旦数据出境泄露了,你这个架构师担得起责任吗? 你要是敢跟他说,这简单啊,我在系统发请求前加个正则表达式,匹配一下手机号、身份证号,再挂个敏感词库, 匹配到了就直接拦截,禁止发送。嗯哼,信不信面试官直接让你回去等通知。本视频代码笔记,已收入近两百万的 java 与 ai 大 模型面试宝典里内涵二零二六最新 java 面试要求与完整应对方案,还含在 java 加 ai 大 模型主流技术站高频面试题与实战项目场景整体,同时附带各阶段同学简历模板与面试应对技巧,还有全套模拟面试指导,想要的留下七七七,做大模型业务,千万别拿传统的思维来糊弄, 大模型的输入是千变万化的自然语言,员工要是输入一句,帮我润色一下这份张三公司下半年即将发布的保密产品 x 的 定价策略, 你的正则表达是怎么难,全靠死规则库,你根本防不住业务机密。而且退一万步讲,员工辛辛苦苦写了五百字的提示词,你直接给他弹个包含敏感词,禁止发送,业务部门早把你的系统骂的狗血淋头了,这在工程上叫一刀切的揽正,用户体验直接归零。这时候肯定有同学慌了, 那为了绝对安全,我们就不调外部 api 了,直接让老板拨几百万预算买算力卡,在本地私有化部署个大模型总行了吧? 兄弟,你是觉得公司的钱是大风刮来的吗?就算老板批了,预算受限,硬件你本地跑的几十 b 规模的小模型,他的代码能力、逻辑推理能力能跟外面千亿参数的顶尖模型比吗? 员工让他写个复杂的逻辑本地模型只会胡言乱语,最后,你的 ai 系统根本没人用,直接变成烂尾工程。那到底该怎么玩?来,准备好记笔记,这就是能让面试官眼前一亮,兼顾了顶级 ai 智商和绝对数据安全的大厂方案。 动态站位服脱敏与沙箱还原架构,我们要怎么做?既然死规则拦截不行,全私有化又太贵,那我们就不要去赌,我们要去偷天换日。当员工点击发送提示词的瞬间,分三步走。第一步,前置脱敏 请求绝不能直接出网,而是先进入本地的私有化安全小模型网关。这个网关不需要懂业务推理,他只做一件事,命名实体识别。他会瞬间把那句高风险的提示词变成帮我润色一下这份客户 a 下半年即将发布的保密产品变量。 b 的 策略 c 核心数据没出网,全被替换成了占位符。第二步,外部推理。我们带着这些打了码的占位符,发给外部最顶级的闭源大模型。 大模型虽然不知道具体是啥公司啥产品,但这根本不影响他发挥强大的逻辑分析能力。他完美的针对站位服生成了一份结构严谨的润色报告,发挥给公司。第三步,后置还原。这才是点睛之笔。 网关接收到外部大模型的报告后,在系统内部自动把客户 a 换回张三公司变量 b 换回实际产品名。最后原封不动的展示给员工。全程业务顺滑,大模型发挥了最大威力, 但外部 a p i 连你们公司的一根毛都没拔走。总结一下,做企业级 ai 架构,永远不要拿安全做借口去牺牲大模型的智商,要把隐私隔离,坐在网关层,把复杂推理交给引擎层,前置脱敏,后置还原,这才是真正懂业务的高可用风控。

很多人用 cloud code 大 半年都不知道它的终端里藏着一堆能直接拉满效率的隐藏命令,只会打字发需求,不仅效率低,还总踩坑。 ai 乱改核心代码绘画聊多了就跑偏,改崩了还不知道怎么撤回。今天一次性把 cloud code 的 十二个实用终端命令分三个梯队讲透,从新手入门到高手进阶,看完直接照着用。 第一梯队,新手零门槛必用,日常开发天天都会用到。 init 是 项目出土化神器,一键识别技术站和目录结构,自动生成标准。 cloud md 项目记忆文件,新开项目第一条命令就用它。 cap 就是 官方自带的命令说明书,忘了任何命令怎么用,直接输入它功能和用法,一键调出 clear, 可以 一键清空当前绘画记录,重置对话状态,换新需求,换项目,不用新开窗口,直接重新开始。 ios 一 键列出项目完整目录结构,不用手动翻文件夹,快速让 ai 了解项目全貌,也方便自己核对文件。第二梯队是开发高频刚需,也是最能帮你避坑的几个命令,建议直接背下来。地图是代码改动核对神器,实时查看 ai 改了哪个文件、哪一行什么内容,确认没问题再保存,避免偷偷改乱核心代码。 安卓就是改崩救星,只要 ai 改完代码不满意甚至改崩了项目,直接一键撤销上一次所有文件改动。 compact 是 上下文救星,绘画聊得越多, ai 越容易跑偏,它能一键精简,无效上下文,保留核心信息,让需求重新聚焦。 mod 可以 快速切换 plan、 edit、 esc 三大模式,比如输入 free mod, esc 就 能切到只问答不改代码的安全模式。第三梯队是进阶高手,私藏命令冷门一点,但在关键场景特别实用。 group 后面跟上要锁定的文件或目录路径,就能禁止 ai 修改这些内容,比如核心配置和底层依赖,杜绝乱改关键文件 reset 比 secure 更彻底,不仅清空绘画记录,还会重置项目临时状态。换项目时用它全新启动,不串旧上下文。 get, 可以 一键查看指定文件的完整内容。后面跟文件路径不用手动打开文件,快速核对代码内容, reload 会重新加载整个项目文件。如果你手动改了项目里的文件,输入它,就能让 colot code 同步最新状态,不再用旧代码干活。 这十二个命令覆盖项目初识化,日常开发还错避坑和安全管控没有花里胡哨,全是能实打实提升效率的干货。收藏起来,用的时候翻出来照着书就行。关注我,带你吃透更多 colot code 的 高阶玩法!

微信消息防撤回只需要几秒就能搞定。首先,你的系统需要满足以下条件, windows c 或更高版本以及 natoramux 四点五点二或更高版本使用本程序签,先关闭微信, 以管理员身份运行本程序会自动获取微信。安装路径,勾选房撤回,点击安装补订。安装完成后再打开微信 好友发送消息过来,再撤回就能看到了。这里模拟发送几条消息,在撤回验证下是否能看到已撤回消息,分别验证文本、表情、图片、消息,然后在手机上上撤回以发送消息 可以看到撤回的消息都能看到了, 有了它,再也不用担心错过好友撤回的消息了。感兴趣的朋友可以关注今日头条、小鱼科技三、私信防撤回获取软件。

不知道各位老大,我们在用 cd 的 时候会不会遇到这样一个问题,就是你用 cd 给你改项目的时候,功能改乱了,你不知道他到底改了哪些文件,就算你让他撤回,他也回到最开始的状态了。那别担心,今天我会用最简单的方式教大家如何使用 cd 来管理好你的项目。话不多说,我们直接开始。 首先我们简单了解一下 cd 是 什么,它的权限是分布式版本控制系统。那更通俗一点讲,你可以把 cd 理解为游戏里面的存档系统, 可以使用 git 记录下某一个时间这个项目下所有的文件状态,并保存为一个存档记录。如果你后续操作这个项目发现有问题,就可以使用 git 一 键撤回你修改的内容,回到之前保存的记录当中。 首先你要确保你已经安装好了 git 和 guest code。 安装完成 git 之后,你要做的第一件事情就是出场 git 的 page。 你 要配置的东西有两个,一个是 git 的 username, 那 另一个就是邮箱。首先我们打开终端,然后在终端当中输入这两行指令。 需要注意的是,这里的 user name 和 e mail 都需要修改为你自己的,没有什么特殊的需求。那这一步的目的是为了让 git 记录下当前操作文件的人是谁。那完成之后,我们来到你的项目当中,这里我就展示一个最简单的文文本档的系统来进行展示。我们首先来到 b s code 的 左侧,这边有一个源代码管理, 这里就会提示你出使化一个仓库,我们点击一下,这样你就完成了整个仓库的出使化创建。我们来到资源管理器这边,右键点击在文件资源中管理显示,这个时候你就可以看到在当前项目下就创建了这么一个点 d 的 一个文 件,如果说你看不到这个文件的话,点击一下这里的查看,点一下这里显示,把这里的隐藏项目勾选上就可以看到了。 我们来进行第一个存档创建,我们首先看到这里的更改目录,这个更改目录下就记录了所有你需要存档的文件,我们在这里就可以简单输入一个消息, 然后点击一个提交,完成之后我们在下方就可以看到我们现在的一个存档记录了,那到这一步你就已经把你当前的代码做了一个最简单的存档。好,接下来我们对整个项目做一些简单的修改,比如说把这里的内容先删除,然后这里随便添加一行内容,按住 ctrl s 进行保存, 然后我们在这里随便再删除其中一个文件。接下来再次打开云代码管理,我们就可以在更改这里看到每一个文件下你所有的操作记录,比如我们点击这个 demo 的 文件加 打完成之后,他这里就会显示你所有的操作记录,红色的部分就是你删除的部分,绿色的部分就是你新增的部分。而如果你发现某一个文件的名称被划掉了,就说明这个文件是刚刚被你删除的文件。如果我们回到资源管理器里面,你会发现这个被删除的文件又回来了, 同理,针对这个被修改的文件,你也可以点击这里的撤销,你再来看这个文件就已经回到之前这个状态了,那接下来假设我们就需要修改这两个文件,我们这里进行第二次提交, 我们点击一个提交,那这个时候你的地址就有两次提交记录了,我们分别点击这两次提交记录,然后点击这里的文件,你就可以看到当前提交下所有的文件的修改的内容是什么。这里几个后缀可以简单记一下, a 就 表示这个文件是新增的, d 的 话就表示这个文件是删除的, m 的 话就表示这个文件是修改的。那完成之后,如果你想要退回到之前这个最初时的版本,就要进行一个回滚的操作,那么很不幸的是 ds code 里面并没有直接这个操作,需要自己手动的执行一个指令。它的方式其实也很简单, 首先按住 ctrl 加 j, 打开这里的终端,带来我们右键需要回退的版本,复制一下这里的哈希,再我们输入这一行指令,按下回退之后,就会发现这里第二次提交的记录就已经消失了, 那上面也重新恢复了之前的更改记录。如果你想批量的回退这些操作,你可以按住其中一个文件,然后再按住 shift 到最后一个文件,就可以选中所有的文件,点击这里的文件都已经回到初审提交的状态了。 当然如果你修改内容比较多,你可以让 c c 帮你总结所修改的所有内容,然后让他帮你进行一个编辑提交,这里他就会总结所有的修改内容,比你自己想看 mate 更加的省心。 同样,如果针对回滚的这个操作,你不想自己手动去执行一些指令,你也可以直接跟 c c 说,让他帮你把 mate 退回到某一个版本, 你只要在这边点确认就可以了。那到此为止,你就已经学会了在 cloud code 当中使用 git 的 所有的基础操作,并且已经完成了一次基础的项目版本管理了。 后续我会再讲解 git 更进阶的内容,比如如何创建分支,如何解决冲突,以及如何把你的项目推送到 github git 这种远程仓库上。那今天视频就到这里,这里是七号,如果对你有所帮助,记得点赞、关注、收藏,我们下期视频再见!拜拜!

那么二号链接和我们这个四号链接的这两款商品的话呢,都是专门针对于我们这个小朋友进行设计的,它在使用的过程中重量非常的轻,个头既小巧又迷你。在使用的过程中,如果我们有家人朋友这边,家里的这个小朋友,我对于这个定位器啊,我希望可以把它隐形的佩戴, 非常的适合,因为小朋友在使用的过程中,我不用担心他会把这个设备弄丢啊,所以我们有家长宝宝这边,如果说我需要给家里的这些小朋友选择一款定位器,既希望防拆又可以通话的,那你这边呢,都可以直接点开我们这个二号链接。

你想攻击淘宝,于是你打开官网抓包,获得了一些 a p i 接口。你写了一段脚本,高频率调用这些接口,获得了所有你想要的商家数据信息。恭喜你,你学会了初级爬虫。但是 这种程度的攻击只要通过封 ip 再加访问频率的限制就可以防住。因此,聪明的你开始不断换 ip, 并且将频率降低到一分钟只请求五次,这样一个晚上也能爬取上万条商家数据。 工程师微微思考,既然你可以无限换 ip, 那 我就追踪你的设备本身。工程师升级了防御系统,不再看请求内容里的 ip 地址等身份信息,而是反向地对浏览者进行深度扫描。 比如,当你浏览淘宝官网的时候,官网的后台代码也在通过浏览器来识别你的用户行为以及你所使用的浏览器类型、操作系统、 gpu 等等软硬件信息,从而综合起来,生成一个专属于你的身份证。 恭喜你,你理解了浏览器指纹工程师通过指纹技术发现有大量的申请获取商家数据的请求,他们虽然来自于不同的 ip, 但是指纹却都一模一样哦。换句话说,这些大量的请求都来自于同一台设备, 因此,所有的请求都被拦截。怎么办?你思考到,工程师的防御措施再厉害,顶多也就是拦截。这种批量的脚本爬虫无论如何是不会拦截正常用户的访问行为的。 你决定实现一个机器人程序,让他模拟用户实现打开浏览器再访问网页的功能。恭喜你,你学会了 celine 技术。你通过 celine 打开浏览器,通过定位前端页面的代码元素来抓取有效信息, 比如抓取所有 image 标签下的内容,你就获得了当前网站所有的图片。虽然这种爬虫方法比直接调用 api 慢很多,但是好在和正常用户行为一模一样,根本无法检测到你是攻击还是正常访问行为。 工程师眉头一皱,发现事情并不简单,有了只要在用户意想不到的地方加一个滑块验证码就可以。 没错,当你的 celine 代码想要获取关键数据的时候,网站冷不丁的给你冒出一个滑块验证码,于是你的请求就会被阻断在这一步。 你心想这也简单,用代码实现一个滑动滑块的操作也不是什么难事。可是你没想到的是,滑块验证码不仅要求你能够将滑块完美的滑到指定区域,它还会收集滑动信息, 比如滑块拖动时的加速度、拖动完成时间,甚至鼠标点击的压力等等。但即便如此,这些防御方法依旧可以被绕过,无非就是多写几行代码来模拟用户滑动滑块时的犹豫,鼠标点击时上下晃动等动作。 不仅如此,你还在多台设备上部署了机器人,从而让指纹识别的方法也失效。恭喜你,你学会了分布式爬虫攻击。工程师心态大崩,回去哭了一晚上才终于想出了解决方法。 他发现目前所有爬虫攻击的本质都是一次性绘画,啥意思呢?就是说你所有的爬虫请求的逻辑本质上都是攻击者发起攻击,服务端就能回答对应请求,一个绘画内就能完成。 但是如果这种绘画并不能一次性完成,而是需要客户端和服务端的多次交流才可以实现呢?于是,工程师实现了以下防护手段,当所有人在初次访问网站的时候,服务端会返回一个无关的空白页, 但是在这空白页里会夹杂着某种认证方式,我们称之为 token。 只要客户端收到 token 后,并按照某种约定的加密算法计算得到一个哈希值,再返回给服务端。通过验证后,服务端还会返回正常的页面给你。就像是你去俱乐部, 保安会首先发给你一个手环,凭借这个手环你才可以进门,而这个手环就是你爬虫机器人所需要计算得到的哈西值哦。你仔细算了下成本, 你发现想要绕过这种防御方法,不仅要能够动态存储第一次绘画的内容,还需要大量的资源去计算得到哈西值。 本来你爬虫爬一万条客户信息能赚五块钱,而成本只有一块钱,现在你的计算成本直接飙升到二十块,你赔的裤衩子都不剩。所以,面对强大的反爬机制,你的爬虫不仅违法,还可能亏本。

如果你的扣款接口被人把一百改成一万,你靠 md 五能防住吗?防不住, md 五是公开算法,攻击者改完金额顺手也能重算 md 五, 服务端看到的是一串看起来合法的招标,然后就可能把错账执行了。所以这题的核心不是用不用加密,而是请求能不能证明它真是你发的。很多人一上来就答,参数拼起来做个 md 五。 这句话听着像安全方案,其实只是招标,招标没有秘密,算法公开,参数公开结果也能被重新生成。 你真正要讲的是签名,参数里必须混入只有服务端和合法客户端知道的密钥,面试里一句话就够。签名不是 md 五,签名是带秘密的,叫验。生产里一般这么做,先把参数按固定规则排序,再加时间戳 non, 也就是一次性随机号, 然后用 x secret 或 hmac 算出签名。服务端收到请求后,自己按同样规则再算一遍,两个签名对不上,直接拒绝。业务逻辑一步都不进, 但脂肪篡改还不够,攻击者可能不改参数,只把同一个请求反复发。如果这是扣款接口,同一笔请求打十次就可能出十次事故。所以时间戳只能挡过期请求,挡不住窗口期内的重放。 真正要补的是 nonce 加 readis, 每个请求带一个 nonce, 服务端先查 readis 这个 nonce 出现过没有,没出现放行,并写入 readis, 设置六十秒 ttl 出现过,直接判定重放到支付积分优惠券这种接口还要再加业务密等号,这时候答案就完整了。签名防篡改、 nonce 防重放密等防重复执行。面试官还会追问, x secret 放在 app 里被反翻译怎么办? 这题别硬装,客户端没有绝对安全,你能做的是提高破解成本,代码混淆、 native 加固证书绑定设备风控。更重要的是把关键效验放回服务端,配合限流审计和异常告警。 所以别再答加个 m d 五,你要答的是一整条防线,签名时间窗、 nums readis 密等风控。

不是 oppo 手机能看到别人撤回的消息啊?我今天才知道,然后我就想起来之前和女孩子聊天,每次别人一撤回消息我就疯狂脑补,你知道吧 小丑我一个人做就可以了,我把方法交给你们用 oppo 手机的,真的记好,咱们现在看到有消息已经撤回了,然后点右上角, 然后往下滑点更多设置通知历史,这个时候看到消息已经撤回,咱们看不到,但是别着急点这里 这边已经撤回了,暂时再往上看。哎,看到了吧,他会保存在这里,你学会了吗?

一对非常的方便,以及我们这的话还给你做了一个下巴上的一个防磨条,这样的话扒在我们下巴上也是不用担心磨啊,或者说扎的一个问题。可以看一下这个是我们上腿一个效果,这个是正面, 然后这个是侧面后方另一个侧面的一个效果。哥你可以看一下这个是我们家这款头盔,然后他的话也是比较百搭的,黑色、白色都是非常百搭的。然后如果说我们这个是不喜欢这种祥云款的话,那么我们还有这种七彩款。

九号和十号它能做到迅速沉水,而且呢它是防缠绕抗打卷的,就光光我手上这个一号线啊,它可以达到十三公斤那个拉力值,所以说你想要去路亚的,路滑的,想去远投啊,海钓啊,毛鱼的,这个商品都是可以通用, 尤其是你想要去抽鲢鳕的啊,哥们,这个拉力值强,而且的话呢能做到迅速沉水,这个是在九号链接啊,看到没有,直接沉到水底的,这款商品是完全结合了十二边那个拉力值哦。