api 接口被恶意攻击怎么办?如何防止 api 接口被恶意调用?客户端防护一客户端双向认证,在 app 中预制证书跨平台也是一致的方案,要求更高的话使用专用的证书设备 线下签发,例如银行的优盾。二客户端双反 hook 反调试防逆向 三客户端运行环境较验,通过读取硬件信息,识别 pc 还是移动设备以及设备 mac 相关信息。传输层防护一传输协议防护首先接口建议使用 https 协议, 这样至少会给破解者在抓包的时候提高一些难度。服务端防护可以接入高防产品,配置好高防之后,所有的攻击类型 都会被高防清洗过滤,全方位的保护各个接口和服务器的安全。关注我,了解更多的网络安全知识,有遇到攻击问题的都可以私信我。
粉丝1431获赞2457

你总得有个依据,你比如说有这么一个人,人家每天除了吃饭睡觉呢,就是睡觉吃饭,你忽然有一天把人摁那了,说人家是个流氓,那你总得给个说法是不是?他到底是吃东北虎了还是睡大熊猫了? 我们这个刹住软件,他也是一样的道理,你比如说有这么一个程序,人家连个 api 函数都没调用过,那你凭啥说人家有毒呢?所以今天我们要聊的这个技术呢,就是如何让一个程序看起来连个 api 函数都没用过,但是实际上他背后的操作却恶贯满盈。这个 具体的这个核心的实现呢,我们昨天已经讲过了,没看的小伙伴赶紧去看,这是一个特别重要的一个技术,但是昨天我们留了一个坑,就是这个东西呢,他不稳定,你只能用一次,你想想这个就不能用了吗? 哪个恶意程序说我用一个超一个 api 函数就能实现呢?所以今天我们要做的就是怎么样能让他稳定的能够实现起来,而且学习起来是特别简单的啊,傻子都能学会。你看完以后呢,一定要记得分享 给你的小伙伴,因为有句古话说得好,滴水之恩当以生相许,万一有女同学看到你的这个分享这个小视频,学会一招以后呢,他要嫁给你,到时候你也不用太感激我,点个赞就可以了。咱们正常调用一个 api, 喊出直接写就可以了,但是这样写有一个什么问题呢?在杀毒软件他的这个视野下,你的这个操作他看的是一清二楚, 这就是蚂蚁的函数,他的这个汇编代码,我把它列在这啊,大家可以看得很清楚啊,里面有一个 coat 指令, coat 就调用函数的指令, 然后里面还能看得到你这个 mass boxa 这个函数,你想一下他能够看到 mas boxa, 他能不能看到别的?是不是他什么都能看到? 好,那么通过你对函数的调用,最后就能够生成你的行为特征,这个地方一定要注意啊,你的行为特征跟你的代码特征是完全是两个不同的东西,代码特征就是这个,比如说这段代码,我就能够通过算法生成一个代码特征,代码 特征通过夹壳变形是很容易解决的,我们前面聊过,但是你的行为特征这个东西是不好变的,就是你这个东西你最后掉了哪些 app, 函数掉了顺序是什么?这个东西是不太好处理的, 所以呢,最好的方式就是让他没有这个操作,看不到这个操作是吧?那么我们上一个小视频已经说过这个事情了,所以今天呢,我们用上一个小视频的技术,又写了一个函数,函数叫做重新分装了一下,叫做 msg box, 在这,那么我们调用一下,看一下他依然能够弹出一个这个, 你已经中毒了,是吧?那么这个地方是没有什么呃,函数的调用的啊,只有这个数据的读写,那么我们看一下这边代码他的一个汇编的一个情况啊,在这这还是我们的麦的函数,在麦的函数里面能够看到一个函数的调用,那么杀毒 人家也一定会看你这个函数的调用过程,那么就来到了这个地方,这个地方就是我们自己定义的 msg box, 那么到了这个地方时候,大家看一下里面有没有什么函数的吊用啊,或者是跳转指令啊?都没有,因为这是比较敏感的两个东西,没有这两个是吧?全部都数据的读写, 那么这个时候如果你在数据读写的节奏上面把握的比较好,处理的比较妥当的话,那么基本上你这个东西就万无一失了啊。 好,那么但是我们这个东西,如果细心的同学应该是能够看到,刚才应该是谈了一个错误的,是吧? 那么这是为啥呢?那是因为首先第一个正常来讲啊,我们这个 mig box 他执行完以后,正常来讲他应该是执行什么?执行 max box a, 来到这个地方就执行他的下一句代码, 因为一个函数执行完是要返回来执行他的下一条指令,那我们没有返回来,首先这个是肯定没有返回来的,为什么呢?因为很简单,这个他返回的这个地方被我们利用占一出的方式给人改掉了,改成了什么呢?改成了 masisboxa, 就是利用这种方式我们才调动了函数,那么 既然给人改了,那当然就回不来了。但是好在因为我们最后一出的时候,他其实利用了最后这个函数返回的这个 res 指令, res 指令又会造成一次战的变化,那么这样的话,当这个函数到达麦斯的 boxa 的时候,他的返回指令就变成了我们现在的元素里的第四个,是吧? 那么所以呢,我们用第四个等于第三个,这样的话不就把它给修正了吗?所以我们重新再看一下,好,已经返回来了,是吧?这两个都能够弹出来, 但是还是不对,还是崩溃啊,而且这个执行了两次,正经正正常,应该每个执行一次,那么我就结束了,对吧?那么这是为什么呢?这个原因是主要原因,就是因为他的战现在不平衡了,为啥不平衡呢? 我们这个函数传递参数是通过铺子指令来传递的,他每铺子一次呢,都会造成我们这个 esp 指针加四, 然后当我们这个函数参数传递完以后,就相当这个操作就相当于,为什么呢?为你这些东西分配内存空间啊, 那么当我们函数结束以后,这些参数的内存空间是要回收的,那么就通过阿 et 指令后面会跟就是四个参数,是吧?那么他就会跟个幺零,这个幺零是十六禁制啊,所以是相当于十六,十六就是四个参数,当然是十六个字节吗?那么所以呢?你这边加了四个参数,你不就加十六 字节吗?这边的 it 腰里不就有给你减了十六个字节,这样站就平了,最后你的靠指令 会造成你的占加四,是吧?你的阿姨 t 指令会造成你的占减四。 然后呢,我们这个操作,大家想一下他我们调用了几次 it 指令,第一次呢? msi box 这个地方结束 it, 通过这个 it 我们到了 masid boxa, 到了 masidaboxa 的时候呢,他又执行了一次 it, 又执行了这个幺零这个操作啊,所以其实实际上你算出来,他其实是 相当于是多了五次操作,是吧?多了五次操作,那么我们就要把这五次操作想法就给它平掉,是吧?平掉,那么所以公式很简单啊,你想要写这样的代码,就是你有几个参数,你就品几次赞,怎么评呢?最简单的方式就是什么呢?用我们的汇编指令 好用这个几次五次,是吧?所以这个东西既然要常用的话,我们就把它分装一下啊, 五次,一次,两次,三次,四次,五次。好,那么接下来呢?我们再看一下我们这个代码, 好没问题了,是吧?所以你们将来如果说想要把自己的 app 函数去重新改的话,你就按照这个结构你去改啊。但是接下来的问题给你们留的问题就来了啊,用汇编去写这个东西,对小白来讲看起来就是个特别高逼格的事情,但是对, 对于我,就是我,包括我要求的学生就是不要这样写代码,因为谁家家里写汇编就是不够硬的表现啊。至于为什么,我们下个小视频再说。所以今天给你们的不是评论区不有人喜欢杠吗?今天给你们杠的机会就是这个,如果。

这个夏天,谷歌推出了一个令人振奋的新功能, topic cpi。 这个 api 允许浏览器在保护用户隐私的同时与第三方分享用户的兴趣信息。这是谷歌隐私沙河计划的一部分,旨在替代多年来一直在跟踪我们活动的第三方客给 以及报告我们的浏览历史和购物信息等内容。惊人的是,它被 cpi 已经包含在七月份的克姆一百一十五版本中。所以,如果你还没有收到它, 不用担心他很快就会来到你的浏览器。但是,如果你对于第三方分享你的兴趣信息感到不适,不要担心,关闭它非常简单。下面是如何关闭的步骤。 首先,在 cool 中从右上角的三个点开始点击设置隐私和安全广告隐私。或者 你可以直接在地址栏输入 com set inside privacy。 在广告隐私页面,你可以轻松关闭 com 的定向广告。你将看到以下三个类别广告主题。这是根据你的浏览历史来猜测你的兴趣的占点建议的广告。 这是根据你访问过的网站为你推荐的广告广告测量。这是与网站共享数据, 以帮助他们衡量广告的效果。点击每个类别,你可以深入了解 google 如何关联你的兴趣和网站。 如果你愿意,你甚至可以在每个子类别下进行更精确的关闭。例如,在广告主题下,你可以阻止商业与工业的信息,但保留计算机和视频游戏的兴趣。然而, 需要注意的是,这并不能绝对保护你的隐私,因为一些独立的网站可能仍然使用他们自己的客品跟踪像素和其他方法来收集你的数据,但这是一个良好的起点。如果你对隐私保护有更高的要求, 也可以考虑使用一些专注于隐私的浏览器,比如 dog, dog, go 和 brave, 他们提供了更严格的隐私控制选项。

大家好,欢迎来到通顿大讲堂。 今天给大家分享的是通顿 wap 解决方案,希望通过我的分享,大家能够了解当前关于我们在外部应用与 api 安全保护方面的理论思路和具体的技术应用。 如果大家对某一块主题比较感兴趣,希望深入探讨的话,我们可以线下交流。 今天分享的主要内容分三个部分外部应用及 api 保护的问题定义、外部应用与 api 保护解决方案和通证在 w a p 中的积累与实践。首先我们来看一下第一部分外部应用及 api 保护 的问题定义。舒适时代攻防格局发生的重大变化。我们可以看到几个现象。第一个,我们可以感受到身边的 银行线下网点是越来越少了。有一个数据啊,就是二零二零年到二零二三年,这三年这银行网点就关闭了九千三百四十六个。而我们知道我们的业务 需求并没有减少,我们只是从线下网点转到了线上,我们的日常工作、生活交互的重点已经转到了 app、 小程序和那个 h 五上面。 新的业务形态的兴起,也导致了新的攻击方式的出现,这是第一个现象。还有第二个现象,我们发现政府和企业都在追求数字化,数字政府、数字网点、 数字银行,甚至是数字人民币等等,他这个都是数字化转型的成果。有数据表明,百分之八十的企业目前允许 apr 进行开放共享数据和功能, 通过 api 可发挥出数据最大的潜能,越来越多比较重要的数据也通过数字化与更多的交互方产生链接, 这样就增加了那暴露面。以往的防护体系,在安全层级,防御强度甚至是防护维度都发生了巨大的变化。 第三个现象,就目前全球范围内百分之九十的攻击是由恶意爆头引起,也就是自动化攻击。因为业务的线上化、数字化,导致数据越来越多的呈现在线上,而且我们发现 数据的价值也是越来越大的。我们也经常能听到一个词叫数据资产。我们知道资产都是有价值的,资产也是需要保护的。针对外部应用上的数据,资产的数据爬虫、内容搜刮 也是愈演愈烈,威胁和攻击的范围在不断的扩大啊。每年的互网行动都能暴暴露出非常多的问题。而导致此类事件的大多都是因为攻击方利用传统保护的弱点,利用新型攻击技术对传统防御的降危打击。 痛点出现。传统防御面临的应对窘境,先知先觉而方能未雨绸缪。后知后觉,我就只能力争挨打。针对传统防护面临的应对 窘境,我们可以分析下原因。我们从事安全的大都知道,一般是先发现漏洞啊,后才有防护。我们经常在朋友圈看到就说赶快更新,某某厂商发布了某某漏洞呃修复补丁啊,提醒我们 赶快的修复漏洞。一般在这个时候我们都知道这个漏洞已经肆虐横行了很久了。 回归主题,以前我们针对我们的外部应用,我们做的传统防护做的更多是偏重于车库注入叉、 ss、 ssi 攻击 呃等基础防护。传统的防护往往依赖于静态的规则库,将已知的漏洞防护规则配置成策略规则,针对此类攻击的命中规则的,他能识别,能拦截。这个 优点呢是识别比较精准啊,效率比较高。缺点呢是针对没有配置的规则,或者是之前没有碰到过的,他就没有办法了。新型的攻击手段多是利用 自动化工具模拟合法的操作,多元低频多特征穿同安全就是很难识别,你识别不了,那就肯定是防护不了的。 我们安全圈有个共识,就是没有绝对的安全。就是我们可以做的就是提高攻击者的攻击成本,让攻击者觉得难度比较大,成本过高呢,就放弃攻击了。所以我的亲身经验。 我们通风的呢,有一块业务是从一三年就开始做的业务风控产品,然后为金融和其他行业犯金融场景做那个业务反欺诈和大数据智能风控的。 在东部一二线发达区银行的客户业务开展的比较好。这样呢,就被工具者盯上了。 攻击者对银行做了大量的,包括营销攻击、交易攻击和信贷其他攻击。因为东部客户对风险的把控意识相对比较强,对创新产品的接受程度也高一些,最重要的也是有预算。 我们为很多银行、支付机构,还有一些比较大的互联网公司提供了业务风控产品,提升了客户的防护能力。在此后几年呢,业务风控产品成为东部金融客户的标配。 随着东部客户群体陆续完善了,完善了业务分控体系后,我们发现在四川、贵州、青海、云南还有新疆 等地相继也出现了。就前几年类似东部被攻击的情况,我们在这一阶段又相继接到了很多中西部的订单。通过客户交流数据分析,我们发现很多的攻击设备、攻击手段。甚至在当时我们在东部判定的一些黑名单,发现 有很大一批的攻击就是原来那帮人。由此我们判定,因为东部的堡垒已经搭建完成,再攻击东部的客户,他的成本会上升,这帮攻击者就转而这样攻击防护相对较弱的客户了。 从上面看,我们发现业务形态的变化导致客户的需求也发生了变化。其实包括了几个方面啊。一个是传统外部应用的防护能力,他是不够 的,他是需要升级的,这是第一个。第二个说 api 防护的能力需要补充。传统防护几乎不对 api 做分析、做防护,很多客户甚至不知道自己开放了多少个 api, 有多少人正在通过 api 访问他们的资源。 至于更高层面的风险识别和阻断运行式保护,那就那就更没有了。第三个是数据防护需求的补充。 近年近年来的数据泄露事件及数据保护已经上升到那个法律层面。像网络安全法、数据安全法、个人意识保护法 等相关法律法规的出台,很大程度程度上将数据保护的安全级别做了升级。第四个是针对自动化攻击的防护升级。我们现在已经进入了人工智能时代, 攻击者已经在使用哎呀,就是用一些高空间的呃武器在攻击我们。而我们的防护也是需要进一步的升级的。攻防部队的注定是一场火炮对棍棒的碾压。 要解决上述这种痛点问题, gant 在二零二一年九月提出了 w a p 的概念, 并对此提出了 wap 的能力要求。这其中包含了恶意机器人的攻击防护、身份安全策略实施攻击分析、微服务和 api 保护、 dlows 保护和运行时应用程序的自我保护。下面我们来看一下 wap 是什么啊?他都能解决哪些问题。 w a p 的全称是外部应用程序和 a p i 保护。它是一个网络安全实现的集合, 通过一系列自动伸缩的云原声的安全模型来保护 api 和外部应用程序,同时降低机器人扫描的风险。每个模型都有不同的策略来提高他的安全性,帮助客户提高应用程序的性能和防护。 呃,能力这句话比较抽象啊。就简单的说, w a p 解决方案通常包括四个部分。一个是外部应用防护,机型识别、 a p i 安全保护和抗低调式攻击。 我们把那个 w a p 解决方案分成了四个部分。嗯,就第一个呢,是基础安全,也就是我们经常提到的 waff, waff 的作用的保护。呃,作用是保护基础设施及资产不受外部应用漏洞的侵害 啊。防护零对攻击。零对攻击就是指还没有发布补丁的那个漏洞攻击。 第二个是数据的应用安全,也就是我们的 a p i 安全。 a p i 安全的作用是保护核心数据, 嗯,不受侵害,防止因为 api、 月权泄露等风险造成的业务敏感数据信息泄露等问题。第三个呢,是业务安全,也就是 bot 就自动化攻击 布特防护的作用是保护业务的核心关键逻辑不受侵害。防护来自月全、自动化绕过等工具。第四个是服务保障,抗 ddos 抗底刀式的作用,主要是降低服务负载,防止过量攻击导致服务的可用性受到影响,保障客户 提供稳定的在线服务。下面我们详细来展开一下通证在这几方面是怎么做的。 在基础安全方面,我们采用的策略是动态防御隐藏攻击入口保护应用安全。 这款能力呢,是我们在二零一九年在传统袜服的基础上自主研发的动态防护引擎,加入了动态加密、动态混淆、动态令牌和调试保护等技术来提升外部应用的安全防护等级。 因为黑客在攻击外部站点的时候,一般会对外部站点进行扫描查看,通过暴露的外部代码来查看业务的逻辑和可攻击的路径,再利用漏洞来进行攻击。就跟我们小偷去偷东西偷东西一样,他需要先踩点。 攻击者对我们的站点有这样的需求,那我们作为博弈和对抗者啊,就要和他们反着来,让攻击者无法按照他们的方式进行下去。下面看一下我们具体是怎么做的。第一个应用动态加密。 攻击者想要攻击一个外部站点,一般都会按 f 杀,或者在页面上右击查看原代码来查看我们的网站,或者是网页的代码来寻找可能存在的漏洞。 动态加密功能是对网站原码进行加密保护,保护外部站点的代码安全。隐藏可能存在的攻击路径。 从我们这个张图可以看到啊,就我经过我们加密后的代码变成了无法看懂的命运。而且我们加入了动态令牌技术,每次加密算法 不同的刷新一下密码,呃密文就会变换,让攻击者无法预测我们的外部行为。即使漏洞还存在,攻击者已经看不懂代码了,也就没有办法找到攻击入口了,这样就提升了攻击者的攻击难度。 第二块是应用动态混淆保护站点的内容。这个功能是对网站原码进行混淆加固,将原本简单易懂的原码转化为复杂难懂的代码,从而防止网站被调试、被破解和被分析。 因为每次混淆的算法不同,这个一般针对重要的内容,防止别人怕去复制而增加攻击者的攻击难度。 下面一个是叫放表单保护,攻击者在攻击时一般会使用,经常会使用的就是抓不 工具来获取你的账号密码。放表单保护的作用是对账号密码的动态保护,在输入账密提交的那一刻,通过放表单元数值的动态变换,将账号和密码的信息变成与之前完全不同的信息。 可以有效的保护放入表单元素向服务器传输过程中的安全性,避免重放攻击和数据拦截。下面一个是风险按键, 下面是风险按键自定义防护开关。我们知道有 网站的数据是不允许复制的,比如我们经常看到的百度文库啊,然后道客巴巴,因为他们的盈利模式就是靠收费下载,所以开发了防辐射的功能。有很多网站并没有开发这些功能, 但在部署了我们的产品以后,风险按键开关可以禁掉存在风险的按键,比如说 f 十二鼠标右键,或者是组合按键,比如说 ctrl c、 ctrl v 这种复制粘贴这种功能。 通过禁掉这些风险按键来实现。调试保护,让攻击者查看网页原码,调试原码复制页面的内容的代价提高。 动态防护引擎通过动态加密、动态混淆、动态令牌调试保护等等功能,比较全面的提升了 外部占点的防御力。 a p i 保护 我们知道,安全往往隐藏在未知里面,未知的僵尸、 apr 未知的影子, apr 未知的敏感数据暴露,根源都在于企业对 api 的资产全貌的未知。 为了实现 a p i 的安全,首先应该对系统实现全面的 a p i 资产盘点,对 a p i 资产盘点到 a p i 路径折叠与规范化,再到进一步的敏感数据暴露面清点。 w a p 呢?基于 数据分析,不需要改变用户现有的部署架构,就可以实时的盘点流量中的 a p i 资产。全自动的树立 a p i 列表、资产 apr 参数、资产 apr 调用方法等多维度 apr 资产清单,达到 apr 资产可知, 并可对已识别的 apr 进行深度扫描。发现漏洞。直接以报告的形式向企业管理者展现高、中、低漏洞位置、漏洞描述和漏漏洞的修复建议, 且可根据描述进行修复,防止系统带着漏洞上线,在后续运营过程中造成公大的损失。当 api 应用缺少监控时, 会给潜在的攻击者足够的时间来建立对受损 a p i 的访问,并保持长期的连接。这种隐形攻击会导致企业财产伤愈和数据资产的损失。根据 o s 部的说法,组织检测修复漏洞的平均 时间大概在两百多天,因此 it 人员需要在更短的时间内发现 api 应用的异常情况。我们的 wap 在 api 运行时 会进行实时的监控,对未经身份验证的 apr 进行阻断,以防止未经验证的 apr 访问敏感数据的资源。 对传输过程中的数据进行监测,防止敏感数据泄露和提交恶意执行文件。对 api 访问频次进行监测,防止恶意攻击和破解 api 造成服务的资源浪费,影响我们正常的业务开展。 在大部分的情况下,恶意爬虫和薅羊毛就是通过 api 的呃高频访问来获取数据和抢占资源。随着攻防面的变化及攻击者手段的隐秘多变,在 api 运行时,加强外部风险感知能力和风险阻断能力的建设尤为重要,这样才能及时准确的感知到 a p i 的任何滥用情况,并及时的阻断攻击者的进步行动。 api 保护的第一步有识别 api 资产。一个应用漏洞存在着大量的 api, api 通常对应着大量高价值服务和数据,也被各种爬虫和黑客高度关注。 因此,我们运营者需要清楚的了解一个应用系统创建的 api 有哪些, api, 会用在什么地方,将携带什么类型的信息。 wap 基于数据流量自动化,对 api 流量认证的请求进行路径转移归类, 自动的发现业务潜在的 api 接口进行梳理和盘点,让运营者轻松了解 api 资产现状,同时实时感知每个 api 接口的防范情况,综合进行监控。 在应用系统研发和运行的过程中, a p r 不可避免的会产生漏洞。缺陷是天生的,漏洞是必必然的。 开发者编写的代码和不当的配置非常容易引入安全风险。我我爸是不是在二零一九年提出针对 api 的十项常见风险清单,其中有常见的加密、健全等协议问题,同时也 包含外部入侵、中间键入侵及数据泄露风险。 w a p 可对 a p i 进行严密的 安全测试和模拟攻击,清楚的向开发者展示高、中、低各种风险描述、风险位置和风险修复建议,可让 ipi 在上线之前就能及时发现和起解决潜在的漏洞和风险 决策。智能拦截程序攻击防范。数据爬取。我们知道有些企业数据就是他们的核心内容,就是他们企业生存和发展的保障。诸如视频啊、文章啊,甚至一些法院的裁判文书, 都深受数据爬虫针对其内容搜刮的侵扰。我们这边就接触过一个客户,是一个电商竞争对手,通过自动化爬虫实时获取他的 商品信息和价格动态,只要这边有调整,对手始终在第一时间就做出对应的调整。还有还有的网站就是刚刚上了一篇质量比较高的原创文章,几分钟之后他就到竞争对手的页面上了。 此类爬虫不但对内容进行爬取,对我们对那个企业的权益也是种损坏, 也会对服务的负载造成一定的影响。大量的自动化程序访问会导致服务资源的损耗。 有个客户之前就跟我们抱怨说说,原来我们的服务只需要两台服务器就可以支撑了,因为有太多的爬层访问,导致需要我要五台服务器才可以支撑,这就直接增加了客户的成本。我们 wa p 集成了决策智能引擎。决策智能引擎源自于服务金融行业的智能风控平台。我们在服务金融客户时积累了大量的防自动化攻击的经验。 使用决策引擎的同时,也把金融行业积累的经过验证的、有效果的、可用于防护的风险特征、攻击类型、人机识别。这种规则模型,还有一些名单都融合进了我们的 wap 中。 下面一个是抗 ddos, ddos 攻击是世界难题,传统的抗 ddos 主要是基于网络流量的防护,最有效果的方法是流量清洗,就把这一这一页流量引到呃,引到其他地方, 不光不攻击我们的这种这种站点。我们的抗地道石是基于应用层的防护,是传统地道石的补充。基于 决策智能的 ip 动态配置、突发数率和平均数率定义预值等方式,防止有针对性的盗窃攻击,降低服务负载,防止过量攻击。 下面对通论 w a p 的解决方案做个总结。通论 w a p 解决方案是对 各类应用场景下的流量智能监测和 api 接口进行统一的规范管理,帮助客户快速搭建数据安全框架下的外部与 api 安全防护体系。主要提供的功能和解决的痛点是第一,通过外部动态防御 隐藏攻击入口,提升站点内容保护力度,提高攻击者的攻击成本。第二,通过对 api 进行漏洞扫描和修复,发现及管理数据资产,及时发现被修复 api 中的安全漏洞。第三,通过对 api 访问进行 控制和监控,防止未经授权的访问和恶意攻击。第四, 通过基于特征行为、人机识别等模型识别与拦截,自动化风攻击,然后防范数据爬取,保护数据资产。 第五,通过决策智能动态应用配置,防范应用城的地道史,防止夫妇在防止过量攻击。通过体系化的安全模型和防护措施, 加强 api 安全管理,防御自动化攻击,防范数据泄露,提高客户应用程序防护及数据保护能力,满足合规要求,更好的保障外部应用于 api 的可靠性和稳定性,提高数据的完整性和安全性。 下面我们看一下通顿在 w a p 中的积累与实践。通顿在 w a p 解决方案的推出, 你不是一蹴而就的,这里面包含了很多年的积累,也走了很多弯路,嗯,踩了比较多的坑。 在外部应用防护方面,我们在二零一六年给金融行业做那个大数据风控,其中比较重要的积累就是风险特征啊。在金融领域的风控处置,主要 逻辑就是基于风险特征的识别。然后在二零二零年推出了动态引擎,我们集成了智能角色动态引擎,还有爬中防护引擎,然后形成现在的嗯,外部应用的防护能力。在爬中防护 这块呢,我们时间可能更早一些。通证在二零一一年呃成立的时候推出了一个叫设备指纹的技术, 第一个客户是国内最大的电商设备指纹产品是人机识别的。呃,基础技术在二零一五年,在当时比较火的那个幺二三零六逆天验证码的 引发下,然后我们推出了一个改善产品,就滑动验证来代替图片验证码。滑动验证是在设备指纹的基础上加入了 人机识别,主要的作用就是识别。嗯,人还是自动化的。呃,工具。当年我们还承接了徒步前列的电商客户的反趴中业务, 那形成了较为完善的那那个爬村引擎。嗯,在二零二零年属于智能决策引擎和动态引擎,组成了我们的动态 buff。 当时呢,产品名称叫机器人防火墙。 在 api 的安全能力积累这方面,往前追溯也是源自于金融产品呢。原来是通福镇自有的,叫数据员管理平台。后来呢,在国内前二的某农信社也有这个需求 啊。当时他们的他们用 api 网关啊,主要的作用是保证银行第三方数据的传输和交换。后来 我们用了这套系统。跟他们不熟悉后呢,他们经常会有那个金融合规的一些需求。嗯,然后我们在那个基础上有不停的迭代,加入了 api 的风险监控。 然后经过多个版本的迭代以后呢,不断加入新的安全的功能,然后形成了现在比较完善的 api 保护。 通证的最早呢,是服务于支付、电商和互联网行业。当时国内前三的支付和电商都是我们的客户。 后面的产品那个和服务延伸至金融能源。呃,然后政府、教育和医疗。然后我们通过十多年的积累,其实客户已经覆盖了像人民银行、网信办、工信部、公安部、交通部等很多家的政府机构,像工商银行、 建行、交行。还有一些嗯,那个中国移动,中国电信,中国联通,像一些京东、唯品会。还有一些嗯,携程啊,顺丰啊 这样的客户。我们积累了大量的一些客户。然后我们的 wap 解决方案,呃也在能源、金融、政府、物流等行业落地。客户的反馈是比较良好的。如果有感兴趣的朋友,可以通过线上或者线下的方式 呃联系我们,了解更多的信息。以上是我们对 w 通顿 w a p 解决方案的全部的分享内容,呃,感谢大家的耐心聆听,谢谢。

如果你问安卓最强软件有哪些,不同的人可能会有不同的答案,但如果是问我,那我的答案中一定有十字库。这是一款什么软件呢?根据官网的介绍,他能在没有入的权限的情况下,让软件调用系统高权限 api, 从而实现一些高级操作。简单来说,他可以不需要电脑,给手机软件提供 adb 权限, 从而实现免入土耳机。目前已经有相当多的软件使用了十字库激活,比如冰箱小黑屋,可以拿来冻结软件,整治一切流氓。 比如 app offs 权限狗,可以管理软件权限,保护隐私。比如安装师可以在不卸载新版的情况下降级安装旧版软件。 比如自动跳过,可以跳过开屏广告。比如 ivis patch, 可以免 rot 实现框架功能,还可以激活 sense、 爱玩具、工具箱等软件。说了那么多,使租库到底怎么用呢?使租库目前一共有三 三种激活方式,无线调试、 adb 和 root。 先来看无线调试模式,这是安卓爱的十一以上版本才能使用的功能,手机连接 wifi, 打开开发者设置和 usb 调试,并打开无线调试,使租库中点击配对,并回到无线调试中,选择使用配对码配对,在通知栏的使租库服务中输入配对码, 等配对完成后回到时租库点击启动,就成功开启了时租库服务。虽然流程听起来有点多,但操作起来并不复杂。第二种激活方式是使用 adb, 使用数据线把手机连接上电脑,进行时租库中的命令即可。 第三种是使用 root, 如果有 root 权限,直接点击启动即可。需要注意的一点是,如果使用前两种方式,每次充齐后都需要重新激活权限,激活后使用时租库也非常简单。我拿冻结软件的小黑屋举例,比如我特别讨厌 手机上的快应用,一直在后台运行,还谈广告,但又不好删掉它,这时就可以使用小黑屋来冻结,效果约等于卸载或者不想要某些 cia 软件在后台运行,也可以使用后直接冻结掉,节省手机内存。 安装小黑屋工作模式,选择十足库。在十足库的应用管理中,打开小黑屋的授权之后,点击小黑屋右上角的加号勾选应用,就可以冻结掉它了。合理的冻结再配合安装师使用旧版本软件, 完全可以实现旧手机流畅不卡。再比如说权限狗,授权之后,它可以查看和管理手机上的所有 app 的权限,我们可以任意拒绝或忽略掉 app、 读取文件、剪切板、手机号等,且不用担心他们不给权限就不能使用。此外,我们还可以配合 turmix 或者是最酷 runner 的软件,在手机上直接执行命令。 如果你是开发者,也可以把它集成到自己的 app 中来实现一些高权限功能。总而言之,如果你是安卓手机但不能或者不想入的,这款软件就是你的玩具必备。以上就是本期视频的全部内容,我是旋律九九,我们下期再见吧!

由于一股神秘力量,导致 open ai 的 api 无法直接调用,本地测试一下官方的 demo 可以看到会有错误提示, 后台报连接处,不妨借助叉子 gbt 来解决一下这个问题。直接问他,本地访问不了外国的 api 应该怎么办? 第一条,检查是不是自己网络有问题好说,第二条,看看是不是对方的 a p i 有问题,也没什么毛病。好吧, 让我们来看看第三条是不是有用。第三条是用代理绕过限制, 好像很科学。第四条,进入代码生成的测试页,输入关键词, 提交后需要等一会,如果要加速的话,可以念个咒语,玛丽玛丽哄,哎,出来了, 看一下。接下来初始化一个前端工程,然后添加依赖, 创建一个 index 点 js, 把刚才生成的代码拷贝进来。注意还是需要调整一下参数,比如说他给的改为文档中提到的 api 地址, 然后是保持请求头以及关闭安全教验,把工程上传到一台科学的扶梯上运行。 从官方文档中找到 http 模式的调用实力,点击右上角进入 token 生成的一个页面。另外这里可以看到官方送的十八美元,大家抓紧时间把它霍霍,根据文档设置好请求投,让我们来试。

那么我们这地方来详细讲解一下,调用 a p a 函数呢,我们经常用 embok, 对吧?那么我们调用 a p a 函数呢,是温度系统给我们封装的动态内衣库里面的磁性函数。 ip 函数默认的钓牛方式是 sdco 钓鱼令啊,我们常用的这个温度超系统给我们提供的三个核心的迪奥呢,是看到三二点迪奥啊,基地啊,三二点迪奥,他负责图形设备接口的。看到三二呢,是负责系统服务,包括内存管理啊,任务管理啊,动态连接。 那么有的十二点调呢,是负责啊窗口见面的啊,消息传送的,这个都是我们在之前课程学习过的。那么我们在具体调的时候呢,我们要使用 emoke 一句啊,因为简单,实际上你用靠也可以的啊,当然写的要麻烦吗?这是高级会面写法啊, emoke, 那么 ip 函数呢,他有 他的返回值,这个就是用微能超系统给我们提供的函数的证明呢,是放在投孽里的,所以说我们必须要包含投孽哈,嗯, include 的一句包含投念 include 的立本啊,他这是伪指令啊,他是包含这个投入库。

好,我们先把这个 settlement 初始化给它跑出来给大家看一下啊。来, settlement, 我是放在这个 view 的框架里面跑的,不影响不影响我们这个展示的这么一个效果,来,把它拿过来。 好,我先注视一些东西啊。好,幺二七点零点零。 好,这个地球就已经出来了。这是我们 c 什么?说实话,如果说你去 c 什么,这就是他最开始的这么一个页面状态啊。好,他有什么自带的空间呢?来,你看上面是不是有个搜索框?来,来个武汉 点一下,他是不是给你跳过来了啊?这个也不用你自己去写啊,他这是他自带的啊,还有一个 home 键。 home 键什么?你原来的手机上是不是都有那种 home 键啊?你点一下是不是回到主页啊?跟我们这是一样的,点一下他就回到我们 刚加载进来的这么一个状态,他还在干干干嘛呢?我们 c 什么不只是可以开发这个三维啊,他也可以把它变成一个二维地图,也是没有问题的,甚至说二点五维他也是可以的。你看 在这呢,我们可以手动的选一个图层在这里面啊,也可以手动的选一个图层,也是没有问题的啊,只不过这些影像图层呢,都是在线的,在国外的,有可能网络加载不出来,有可能网络加载不出来。好,如果说你这里面都不想用,那我们可以干嘛?我们可以来一个 alt g s 的影像图层,手动的给他指定一个影像图层也是可以的。来,把这一行放开 啊,我们用一个 alex 的影像图纸是不是就有了?跟之前还是有点区别的吧,这个应该是偏蓝一点,对不对? 好,来,我们这个 c 怎么怎么去操控它呢?放大缩小,不用说了,肯定是用这个滚轮去滚,对吧?用这个滚轮去滚,那怎么把它放平呢?啊?注意啊,用这个滚 轮按住这个滚轮去把它放平,你看把它放平啊,有的问了,这不是个三文吗?你不逗我吗?这什么都没有对吧?还是个平面对不对啊?那我们这为什么没有这个地形呢?因为我们没有加这个什么地形图层啊? c 字母里面它是有一个地形图层的,来,我们把它加进去啊,在这来把它加进去啊。 啊,再再来看一下,还是一样的,跑到我们这个台湾,台湾来看一下啊,是不是现在就有这个地形了,效果还是很明显的,你看地形就已经出来了啊,这是个三维地球了,对不对?好,有的说,你这有山好像没有水,这个水怎么是死的啊?也可以开啊,来,我们把这个水的特效给它打开啊,一个参数的事啊。嗯? 我没保存吗?我再看一下,说明特效应该是被我开了的呀,我再刷一下啊, 应该是有了, 你看这个水面特效是不是就已经出来了啊?水在流动对不对?这个海在流动啊,但是这个东西还是比较耗我们这个电能电脑的这个性能的,跟你打游戏一样,你把这个游戏画质开的越高,你这个帧数是不是就越低啊?对不对啊?还是比较影响我们这个电脑性能的,如果说你这个电脑性能不行,那你就不要开它嘛,对不对?

apm 是什么?百度上面可能会说 apm 是什么预先定义的函数啊?或者说什么软件系统不同组成的衔接约定啊?其实这里面有点深色难懂,我给你举一个例子啊,就比如说平时我们在网上买东西,对吧?商家会给我们发货 啊?这个时候你能够在这个淘宝上,对吧?看到这个物流的一个进展信息,对吧?因为这是淘宝公司跟快递公司,他们作为两家公司合作的一个产物,对吧?那我们想在淘宝上看到快递的一个信息, 这边就需要是个 ap i 了,对吧?你想查快递的时候呢?淘宝可能说给快递公司那个网站去传递一些参数,然后比如传一个 id, 又传你的姓名,然后就能够拉到你这个订单下面的一个物流状态,对吧?这也是我们常说的 app。 那再个例子,就比如说我开发了一款软件,对吧?叫,哎,好了,那我的朋 朋友开发一个人叫 b, 那我朋友想调用我这款软件的部分功能来用,对吧?但是其实我又不可能把原码给他,但是他也不必要去看我的原码,对吧?所以这个时候我只需要去暴露一个接口,对吧?俗称 atm, 那么他就可以给我来传参数,来彼此调用我这里边的功能,好不好?

同学们是调试 api 接口的非常方便的有利工具之一,现在演示通过 http 跟 htvs 去调试一个 api 接口,把地址放在这里,这里选择一个 方法,一般都是选透视玻璃,这里选 iw 格式,然后再选择 j 损,然后把 j 损参数内容填在这个位置,这点发送 啊,调用完成之后,这个状态两百就是调用成功,这个是耗时,这个是返回的大小,返回内容就在这里。 再再调用一个 h t t b s 的一样,把 a b i 地址放在这里,这里选,也选择 pose body 也是同样选择 iw, 选这一审格式,把这一审内容填在这里,点击发送,这时候就会报错,我们看一下这个报错信息,是证书已经过期了,我们可以设置,跳过证书验证,再设置这里把这个去掉, 然后再点发送去调用,这时候就可以调用成功了,调用成功,这里状态也是否有两百,一样的法人内容也是在这个。

什么是 web service? 当开发人员希望共享函数的功能,而不是程序中的实际代码时,他们可以将函数放置在 web service 上。 拥有 web service 上该函数地址和所需权限的程序员才可以调用该函数,如图,这就叫做 web service。 什么是 apm? 除非知道函数名和所需的参数,否则不能调用函数。 当你创建一个 vip 服务时,你就创建了一个应用程序编程接口 api, api 定义了函数名和参数,这样其他人就知道如何调用你的函数。 开发人员在微软阿根云官网注册或者购买许可证,然后得到一个唯一的密药。当开发人员调用官服务时,此密药将作为链接的通道。微软阿根云会验证这个密药是否已被批准用于调用官服务。 超文本传输协议 aggp 是通过 wif 发送消息的标准协议点。只在查询字符串中传递值,特殊字符必须转移 有限的数据量。在查询字符串和查询体重传递值在传递体中不需要转移。特殊字符可以在网体中传递大量的数据,包括图像。使用维库 s 库,简化了 icon 代码 用的 appt 机票。用 iron request school 编写拍照程序。调用 api 实现目标检测, 查看目标检测 api 文档。 运行长 程序对图像进行目标检测。 修改 izong 程序跳用 api 实现 ocr 字符识别, 查看 ocr 字符,检测 app 文档说明 运行程序,对图像进行 ocr 自辅检测。

connectivity is an amazing thing by now, we're all used to the instant connectivity that puts the world at our fingertips from desktops or devices we can purchase post pin and pick anything anywhere we are connected to the world and each other like never before but how does it happen how does data get from here to there how do different devices and applications connect with each other to allow us to place an order make a reservation or book a flight with just a few taps or place the unsung hero of our connected world is the application programming interface or api it's the engine under the hood and is behind the scenes that we take for granted, but it's what makes possible all the interactivity we've come to expect and rely upon, but exactly what is an api it's a question everyone asks okay not really, but we're glad you did the textbook definition goes something like this in computer programming an application programming interface api is a set of routines protocols and tools for buildings appropriate and api expresses a super component in terms of operations inputs, outputs and underlying types okay to speak plainly an api is the messenger that takes requests and tells a system what you want to do and then returns the response back to you to give you a familiar example think of an api as a waiter in a restaurant imagine you're sitting at the table with a menu of choices to order from and the kitchen is the part of the system which will prepare your order what's missing is the critical link to communicate your order to the kitchen and deliver your food back to your table that's where the waiter or api comes in m the waiter is the messenger that takes your request or order and tells the system in this case the kitchen what to do do and then delivers the response back to you in this case food now that we've wedded your appetite let's apply this to a real api example you are probably familiar with the process of searching for airline flights online just like at a restaurant you have a menu of options to choose from a drop down menu in this case you choose a departure city and date, a return city and date tabbing class and other variables in order to book your flight you interact with the airlines website to access the airlines database to see if any seats are available on those dates and what the cost might be based on certain variables but what if you're not using the airlines website, which has direct access to the information? what if you are using an online travel service that aggregates information from many different airlines the travel service interacts with the airlines api the api is an interface that like your helpful waiter can be asked by that online travel service to get information from the airline system over the internet to book seats choose meal preferences or baggage options it also then takes the airlines response to your request and delivers it right back to the online travel service which then shows it to you so now you can see that it's apis that make it possible for us all to use travel sites the same goes for all interactions between applications, data and devices they all have apis that allow computers to operate them and that's what ultimately creates connectivity so whenever, you think of an api just think of it as your waiter running back and forth between applications databases and devices to deliver data and create the connectivity that puts the world at our fingertips。

为什么 api 总被攻击者盯上?概括来说有三个原因,一、目标好找。 api 的职责就是应用之间的吊用,天然就是公开且暴露的。二、 攻击潜在收益高。 api 携带大量重要数据和认证信息,一旦攻击者成功突破, api 可直达核心系统。三、攻击防范较困难。大量的 api 权限控制不够精细,很容易被攻击者找到漏洞, 从而轻易绕过边界防护。由于 api 通常对应着大量高价值数据,也被各种自动化的爬虫工具高度关注,平台运营者饱受薅羊毛、数据窃取的干扰, 而 api 的使用也常受到流量占用等威胁的影响,无法正常工作。关注我,了解更多的网络安全知识!

发布网站前请先把代码变丑。有时刚做完一个网站,我们就立刻把它发布出去了。看了这个视频就别再这样做了。首先,前端代码是公开透明的,并不安全, 直接发布会毫无保留的暴露我们好看的代码,可能导致隐私泄露。此外,由于前端代码会从服务器通过网络传输至客户端,如果不进行压缩处理会导致性能浪费,因此要将代码进行压缩、混淆、加密处理。把它变丑,可直接使用站长之家提供的在线 gs 混淆加密压缩工具。 压缩本质是去除代码多余的空折和注视等。混淆是将有意义的长变量名替换为短变量名或打乱代码加密。通常使用依我函数通过编码计算的方式替换原代码语句。其实很多在线工具基本都是基于下面这个神器,阿格里 f gs 是个包含 gs 显示器代码 小化、压缩、美化的工具级,是前端开发打包的最常用工具之一。通过 npm 命令安装阿哲力 facs, 然后就可以用一号命令对 gs 代码进行压缩混淆了。 注意哦,他并不提供加密功能。前端加密治标不治本,还是应该把隐私数据写在服务端,而不是前端页面中。关注我,每天一个脱发小技巧!

一个插件抓包抓天下,接着上一个视频介绍一个插件,这个时候你需要一个可以安装插件的浏览器, 目前有很多浏览器都支持了插件,我这里用到的是 cream 浏览器,这个插件呢叫猫抓,如果你可以的话,可以直接在 com 商店里搜索猫抓, 或者也可以在百度或者其他的地方找一下,把它下载下来安装,安装之后呢,像我的就直接在这里显示了,然后我们继续上一个视频的步骤,随便找一个网易云音乐吧,啊,看一下,随便找一个音乐播放, 在这里就直接会给你音频的链接,接着咱们可以看一下小的视频网站,嗯,再随便找一个吧, 然后我们随便点一个视频啊,在这里我们就能看到这个视频的链接了,就是 np 四,然后点击这里就可以下载了。 那类似爱奇艺、优酷这种大网站能不能下载呢?下个视频告诉你,我是童林泽,关注我以后你的数码问题交给我。

上一期我给大家分享了如何查看调用超 t p t 的 e p i t, 我们一旦有了 e p i t, 那么我们就可以在其他软件中调用它 t b t 了。下面我们来演示一个案例。首先我们打开谷歌文档, 点击 f 小板编写代码,我这段代码是已经编写好的,直接复制过来就行了,这是建立菜单栏的代码, 下面这个就是调用我们的 apip 代码,接下来再赋予菜单功能函数即可。我们来看一下最后的效果,已经有了爱文章的菜单栏了,接下来我们输入一段文本,根据这段文本一键生成与文本内容相关的主题 标题简介、大纲内容总结是不是很智能?但是大家可能会有疑问, 问了,我不会编程了,那么我要这个带 b a 也没用啊,请你们头脑风暴一下啊!叉七 p t 不是也会写代码吗?只要你学会如何与它有效沟通就行, 就可以让叉 g b t 给你写出你想要的代码。所以不会编成又有什么关系呢?关注我,带你了解更多爱知识!

哦,那个今天说一下大模型现在在怎么解决企业当中复杂的一些 u 场景, 因为差的 g t p 四点零出来以后,它最大的改变是可以支持本地的一些 a、 p i 的一些调用,甚至有更多的这种私有化数据库的一些这个整合,所以给我们创造非常多的这种 呃想象空间。呃,回到这个早先吼,因为大模型之前的一个能力,可能更多的我们是面向个人, 也就在个人的这个方案当中呢,他更多的理解你的文档论文,帮你写论文,写文案,这个包括一些数据逻辑,帮你写代码,这个能力已经非常强大了。但比如我们会有这样一些场景, 那如何去解决呢?因为他的数据可能是说在这个二零零一年,二一年之前那些数据,对吧?现在最新的也更新到这个比较新的知识库,那如果我们要问一些天气的话,那像这种怎么去解决呢?同样的, 如果说想了解企业内部的一些运营指标,那如何接入我们的一些大数据平台,获得一些数据分析的一些 a、 p i, 包括我们如何去获得这个不同用户的不同的权限,保证数据的安全。 像这种更复杂的一些逻辑,包括帮助企业经营管理者或者员工去获得一些数据之间的一些逻辑关系,做一些人效分析,做一些人感或者感人的一些对比分析,或者如何去实现一些人才标。 这些场景对很多企业来说就是非常大的问题,也非常大的一些挑战。那在整个呃未来的解决方案这一块呢?大概现在的一个模式就是, 呃,强化的差的 g t p 四点零或者三点五,或者我们在国内来说 g l m 三点零,在这一块会有一些这个 大量的这个语意理解跟 api 的钓鱼能力。那我们会把这个外部的函数或者他的本地的知识库或企业的大数据,我们把它变成一个叫做数据记忆, 其实这个记忆跟我们的人脑思维是非常呃接近的,就是我们大脑除了有语言逻辑的推理理解能力以外,其实更多的是需要一些数字记忆, 那记忆会影响我们的价值观或者有更多的理解跟认知,那所以我们整个模型也是急于这样一个思路去往外输出的。 好,这里面我们做了一些简单的这个本地 a p i 调用的一些数据反馈,比如假设我们把这样一个数据进入到我们数据库以后,我们会问,哎,目前我们发的工资,我们这个数据来源是一个工资的一个报表,哈, 是工资发放的明细表。呃,这里面有一些大概的一些数据库,严谨的数据库格式,那我们就会通过说,哎,比如我工资少于多少的,少于五千的是多少人? 他们各式分布在哪些部门?其实这个过程中,第一他就能很清晰的了解你这些羽翼,然后同时会告诉你这些很具体 你的一个数据,那不管你是用什么样的问法,你只要你的逻辑表达能力是接近于这样一个思路来说,他反馈的结果其实是一样的,因为这是一个具体的数据库,具体量化的结果,不会说你每一轮问的结果会产生不同,这个就是很重要的调用我们 a p i 的一个能力。 那同样的道理,那我们还会要求他数据里面的明细是什么样的情况,他能把一些明细给你罗列出来,你问到一些平均工资,那这里面其实大家可以理解,他已经有很强的数据库收口,自动创建和自动查询的一个能力。 同样的一个道理,我们可能会把这些数据再会用一些我们低代码或者说对应的一些图表去做一些数据的可视化去呈现,帮着你去发现或洞察的一些问题。那后期呢?我会在更多的这种场景视频当中给大家做一些分享。

大部分前端会忽略的一个知识点,另外有两种打开网页的方式,一种是通过 a 标签的一个超连接这种方式,还有一种是通过可行实践点击的时候,我就用这个方法,这个方法里面我用到了无温度的 open 这个 api。 那么这两种什么效果呢?大家可以看一下。第一个,比如说我点一下会打开一个新的网页,没问题,我再点一下,又打开一个新的,再点一下,同样道理,他会无限制增加。但是我们可能会有这样的需求,比如说我第一次 点打开这个网,这个百度这个首页,我打开了,那么我再点他的时候,就别再给我打开新的,直接跳到这个就可以了。怎么实现呢?你看下这个效果,比如说我点一下打开百度这个网页,我再点一下,那么他自动的给我跳到这个推广页了。 显然这种方式是更合理的。怎么样实现呢?就是这两个的区别,也就是说超链接的方式打开网页,一个是开启一个新的推广页,这地方设置成更 black 对吧?也可以不设置,就是在当前页打开。那第二种方式呢,就是通过点击的时候会触发这个,可能时间长,两个参数, 第一个参数就是这个,我要打开这个地址,第二个参数就这个内部,我要指定这个窗口的这个名称。第二种方式,不管我点多少,其中的这个窗口的名称是一样的,所以说他都会默认的 啊,他默认的会判断一下,就是你这个以这个名字命名的这个窗口是否已经打开了,如果打开的话,撬到打开这个窗口,如果没有我再开启。 这是一个非常普通的 api, 大部分人都会忽略。如果你业务中有这样的需求,怎么样实现呢?可能大部分人会说这个好像实现不了,其实很容易实现,就这一行代码。如果大家有什么问题,可以评论区留言。