首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

美国移动支付巨头Square的无服务器应用实践

生产和第三方开发人员沙箱帐户创建之前需要获得一些内部批准,我们努力简化相关流程。 这意味着团队的每个应用程序拥有 3 4 个 AWS 账户。...完整的帐户创建过程用时不足 30 分钟,无需任何人工干预,并且帐户准备就绪时会通过 slack 和电子邮件通知开发人员。 ?...AWS 控制台用户界面确实很有用,但依靠它来管理基础架构的路径是无法扩展的。我们 Terraform 用作基础架构即代码解决方案,方案已被 Square 的一些团队使用。...我们通过两种方式做到了这一点。 首先,我们元数据添加到注册表的应用程序,以指示应用程序 AWS 具有资源,并添加了默认标志来控制证书的生成。...通过与内部客户的交流,我们得知需要支持多个 Lambda 运行时,最初是 Ruby 和 Golang。我们还了解到大家想尽可能减少需要维护的库,尤其是涉及 mTLS 握手的代码

2.2K30

SquarePhish:一款结合了OAuth身份验证流和二维码的高级网络钓鱼测试工具

工具运行机制 首先,广大研究人员可以使用SquarePhish项目的email模块来向目标用户发送一个恶意二维码邮件,邮件的默认文字为“需要更新其Microsoft MFA身份验证才能继续使用移动电子邮件...”,当前使用的客户端ID为Microsoft Authenticator App: 通过首先发送二维码,我们可以避免提前启动仅持续15分钟的OAuth设备代码工作流。...二维码会将目标用户引导到我们所控制的服务器(运行SquarePhish的服务器模块),并将URL参数设置为其电子邮件地址: 目标用户访问恶意的SquarePhish服务器,会触发一个后台进程,该进程启动...(向右滑动、查看更多) 然后,目标用户通过电子邮件中提供的链接通过访问其移动设备上的SquarePhish URL重定向来访问Microsoft设备代码认证网站: 接下来,目标用户输入提供的设备代码...,并将提示其点击同意: 目标用户完成身份验证并点击同意之后,身份验证令牌保存在本地,并将通过请求应用程序的定义范围向目标用户提供访问: [2022-04-08 14:32:28,796] [info

61730
您找到你想要的搜索结果了吗?
是的
没有找到

HTTPS安全最佳实践

甚至可以发布新证书订阅通知并收到电子邮件,同样,有几个这样的服务可用,例如,有一个来自Facebook 5....如果攻击者可以修改请求,那么你几乎没有办法(除了HSTS),但通常情况下,他更有可能 阅读但不能修改它,为了防止攻击者收听流量发生攻击,有一些最佳做法。...(1)仅发送重定向 当你重定向到HTTPS,请不要随重定向一起发送任何内容,你发送的任何文本都以纯文本形式发送,因此最好将其最小化,内容加入重定向的请求数据并不好。...(2)使用安全的cookie 任何未标记为安全的 cookie 都可以通过HTTP和HTTPS发送,反过来,攻击者可以使用它来模仿HTTPS站点上的用户。 确保使用安全的cookie。 6....现在浏览器可以不先访问它们的情况下知道HSTS头的域名列表,Google维护了这样的预加载列表,列表包含在Chrome和其他浏览器。 这个内置的预加载列表解决了第一个请求的问题。

1.7K30

介绍 GPTs—零代码构建AI应用

像往常一样,您在ChatGPT对自己的数据拥有控制权。您与GPT的聊天不会与构建者共享。如果GPT使用第三方API,您可以选择是否数据发送到API。...构建者使用操作知识自定义他们自己的GPT,构建者可以选择是否使用用户GPT的聊天来改进和训练我们的模型。...我们继续监控和了解人们如何使用GPT,并更新和加强我们的安全缓解措施。如果您对特定的GPT有疑虑,您还可以使用我们共享页面上的举报功能通知我们的团队。...GPTs继续变得更加有用和智能化,并且最终你将能够它们现实世界承担真实任务。人工智能领域中,这些系统通常被称为“代理”。...GPT连接到数据库,将其插入电子邮件将其作为您的购物助手。例如,您可以集成旅行列表数据库,连接用户电子邮件收件箱,促进行电子商务订单

50050

UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

一起使用时,运动和动态成为用户体验工具的重要组成部分,使您的交互栩栩如生。用户通过看到它以自然,动态的方式回应他们的行为。...创建animator的实例传入animator用于定义其坐标系的参考视图。 UIGravityBehavior模拟重力的行为并对一个多个项目施加作用力,可以建模物理交互。...碰撞通知 到目前为止,已经添加了一些视图和行为,然后动态接管。 在下一步,将了解如何在物品碰撞接收通知。...弹性属性控制着物品的弹性; 值为1.0表示完全弹性碰撞; 也就是说,碰撞没有能量速度丢失的地方。 我们方块的弹性设置为0.6,这意味着每次反弹平方失去速度。...构建并运行; 原始方块碰到屏障,应该会看到一个新的方块,如下所示: ? 用户交互 正如刚刚看到的,物理系统已经运动我们可以动态添加和删除行为。

1.8K30

国外知名互联网公司的系统设计和推荐算法汇总

YouTube 上的视频,会在设备下方右侧抛出一个推荐清单,用户可能会按照一定的顺序喜欢这些视频。...这两种云必须毫无差错地协同工作,从而提供无休止的用户满意的视频。 三个主要的组件扮演了主要角色:CDN、后端和客户端。 任何不涉及视频服务的事务都在 AWS 处理。...我们不希望我们用户中途迷失。 良好的准确度 - 我们预估的预计到达时间应该与实际旅行时间之间偏差不会太大。 迅速响应 - 响应应该在几秒内就绪。...第一个视频,你将了解操作转换和差别同步。第二个视频,你会了解使用微服务架构和 API 网关的系统组件。...现在甚至 Zoom 上上课。如果你正在阅读本文,我确定你会对它是如何工作的感兴趣。因此,通过访问下面给出的视频链接,我确信视频结束,你能够成功设计一个视频会议系统。

88810

重构-改善既有代码的设计之代码的坏味道举例说明

} } 解决办法提取类(Extract Class) 将不相关的功能提取到独立的类每个类专注于单一的职责。...解决方案:提取方法,需要的地方调用 Feature Envy(依恋情结) 一个方法过度依赖于另一个类的特定特性数据,而忽略了自身所在类的特性和数据,就存在依恋情结。...需要修改扩展功能,由于方法过于依赖其他类的特性和数据,修改点会分散多个类,增加了修改的复杂性和风险 解决办法:方法移到更合适的类 Data Clumps(数据泥团) 多个数据项经常一起出现...新增修改形状颜色,只需修改相应的类,不会对其他类造成影响。...为了解决狎昵关系的问题,可以考虑以下重构方式: 操作移到正确的类获取订单状态的操作移动到 Order 类通过提供公共的访问方法来封装内部细节。

9110

企业邮件安全防护实践

电子邮件服务器可使用此密钥读取邮件 DKIM 头。 开启 DKIM 签名功能以开始 DKIM 签名添加到所有外发邮件。...有没有一种机制可以邮件管理员了解此时此此刻是否有第三者正在伪冒其网域身份发送电子邮呢?带着这些问题,我们了解一下DMARC。...策略同样使用采用 DNS TXT 记录形式,指定您的网域如何处理可疑电子邮件。DMARC 政策支持三种处理可疑电子邮件的方式: 不对邮件采取任何操作,仅将其记录在每日报告邮件标记为垃圾邮件。...将可疑邮件记录在每日报告。quarantine:邮件标记为垃圾邮件,并将其移至收件人的垃圾邮件文件夹。收件人可以通过查看其垃圾邮件查看邮件。reject:通知接收邮件的服务器拒绝邮件。...小结 对大部分企业来讲,通过以上步骤的加固和优化,可以大幅度提升企业邮件安全性,有效防止被伪造,即便是被伪造,由于以上配置的成功引用可以大部分伪造邮件退回当作垃圾邮件处理,强烈自建邮箱系统的用户通过以上配置加强邮件系统

3.3K20

UIKit Dynamics 置身真实世界

我们通过代码改变方块的frame和transform属性,物体属性会被我们重写,也就是说,动力学控制过程我们不应该通过transform来缩放物体等。...与带标识barrier的边界相撞四次 为了方便看,我们改一下square的背景颜色,每次撞击边界,方形闪烁黄色。...弹性属性控制物品的柔软度; 值为1.0表示完全弹性的碰撞; 也就是说,碰撞没有能量速度损失。您将您的square的弹性设置为0.6,这意味着每次弹跳,平方失去速度。...摩擦(friction) - 确定沿着表面滑动的阻力运动量。 密度(density) - 与尺寸结合时,这将给出物品的总体质量。质量越大,加速减速物体越难。...用户交互 添加另一种类型的动态行为——UISnapBehavior,当用户点击,UISnapBehavior 对象以弹簧般动画效果跳到一个特定的位置 现在移除firstContact属性以及collisionBehavior

1.2K100

性能优化利器之constexpr

从概念上理解的话,constexpr即常量表达式,重点在表达式字段,用于指定变量函数可以常量表达式中使用,可以(或者说一定)在编译求值的表达式,而const则为了约束变量的访问控制,表示运行时不可以直接被修改...在上面示例2通过汇编代码发现其是在运行期求值,那么有没有办法在编译期求值呢?...,对,跟示例1和示例3的结果一样,代码较示例2的唯一区别是多了个constexpr说明符,但求值时期从运行期放到了编译期,可想而知,效率提升那是杠杠的。。。...通过本示例,可以看出,函数声明为constexpr可以提示效率,编译器来决定是在编译阶段还是运行阶段来进行求值,当然了,如果想了解在编译阶段求值的各种细节规则,请参考constexpr in cppreference...自C++17起,引入了if constexpr语句,本节借助SFINAE 和 std::enable_if来实现一个简单的Square功能,最后借助if constexpr对代码进行优化(如果对

34210

利用Googleplex.com的盲XSS访问谷歌内网

在当前这种情况下,他们很可能忘记appspot.com上托管的Invoice Upload网站发布到google.com上了。 上传发票 首先,它要求我们输入是采购订单编号。...漏洞发现 我尝试使用了各种XSS payload来填充这些文本字段,希望它们的发票仪表板的某个位置没有正确地对输入进行转义,这会触发盲XSS并会向我发送通知。但实际情况并非我想的那么简单。...但由于这只是一个前端的验证,因此它不会阻止我们发送上传POST请求更改文件的类型。 我们只需选择一个任意的PDF文件,就会触发上传请求。...首先,我们filename属性更改为test.html,Content-Type更改为text/html,body更改为XSS payload。...payload,我将使用一个script标记,其中src指向我域上的端点,每次加载都会向我发送一封电子邮件。我当前使用的是ezXSS来记录这些盲XSS请求。 ?

1.6K40

C++11 包装器function

C++提供了多个包装器,它们主要是为了给其他编程接口提供更一致更合适的接口。C++11提供了多个包装器,这里我们重点了解一下包装器function。...主函数我们6次调用模板函数,对于前两个调用的use_f为同一个实例化。后面四个,每一个都有其对应use_f的实例化。...我们可以看出,在这六次调用use_f的实例化了5次。...为了解决这类问题,我们首先能想到的解决办法就是:降低use_f的实例化的次数,理想的情况下是:在这6次循环调用的时候,调用同一个use_f的实例。...function的用法之后,回到我们最开始的问题,其中,6次循环中要处理的目标的特征均为double(double),因此,我们班使用function包装器将它们统一“包装”成function<double

62820

单元测试工具(连载3)

从名字上就可以看出,用这两个Fixture标注的函数,只测试用例初始化时执行 @BeforeClass方法,所有测试执行完毕后,执行@AfterClass方法进行收尾工作。...这里要注意,每个测试类只能有一个方法被标注为@BeforeClass@AfterClass,并且方法必须是public和static。 2.防止超时 比如,程序里存在死循环,如何处理?...3.Runner(运行器) 测试代码提交给JUnit 4框架后,JUnit 4框架通过Runner如何来运行测试代码。...TestRule可以额外加入一些check,我们可以一个test case失败/成功,也可以加入一些setup和cleanup要做的事,也可以加入一些log之类的报告信息。...lInvokeMethod:最终执行test case里面的测试方法通过这个类来做,这个类会间接调用Method.invoke()方法通知编译器执行@test方法。

39210

25. Groovy 孵化功能-记录类record和密封sealed的学习

假设我们想要创建一个表示电子邮件消息的Message记录。出于本例的目的,让我们简化这样的消息,只包含一个发电子邮件地址、一个到电子邮件地址和一个消息体。...需要完全控制允许正常方法实现。 也就是说,使用各种低代码的同时,也支持我们自定义方法实现完全控制。...早于JDK16的JDK上编译产生错误。 EMULATE:为所有JDK版本生成类似记录的类。 AUTO:为JDK16+生成一个本机记录,并以其他方式模拟记录。...p=455 我们可以有一个ShapeI类型的引用,由于permits,它可以指向CircleSquare,因为我们的类是final类,所以我们知道将来不会在我们的层次结构添加其他类。...至少不更改permits和重新编译的情况下不会。 通常,我们可能希望像这里这样立即锁定类层次结构的某些部分,在这里我们子类标记为final,但其他时候我们可能希望允许进一步的受控继承。

86420

一篇文章,搞定五种类型的UI通知栏设计

通知可以是产品的一部分(应用内通知使用外部通信渠道(即电子邮件通知)。 用户触发系统触发。用户触发的通知是由用户的操作触发的通知(例如,用户在网站上购买了产品并收到了有关订单的更新)。...当应用程序发送需要用户操作的电子邮件通知用户必须切换到电子邮件应用程序才能完成操作。这可能不是很方便,尤其是您与移动设备上的应用程序交互。 何时使用: 您想要使用电子邮件通知有两个原因。...默认超时可能不足以某些用户阅读通知吐司在用户阅读消息之前消失时,这是一个糟糕的用户体验。 何时使用: Toast 是一种很好的操作状态。...应该从用户的角度选择重要性级别(基于通知提供给用户的价值)。您可以推送通知用于具有关键级别和高度重要性的事件。涉及低重要性,如果要发送此类通知,则应三思而后行。...4.避免为同一件事发送多个通知 即使用户没有回复,也不要发送后续通知。人们应该在方便的时候关注通知您为同一件事发送多条消息用户更有可能关闭您应用的所有通知,甚至删除应用。 5.

2.8K20

18个最佳的产品页面设计(上)

Square Square是一家移动交易公司,商家只要拥有兼容的手机平板电脑,就可以随时随地接收客户的付款。...根据ConversionXL的研究,留白顾客觉得产品更高级- 情况下,顾客会认为产品的价格会更高一些,而且是合理的。...展示了一个登山人的英雄形象,我们可以想象他穿着Fitbits,文案是“你每天都充满活力”。 向下滚动页面,它会通过四个快速步骤来说明产品的工作原理。...更重要的是,其中很多都是互动的 - “所有你需要的,都在一个地方”功能允许用户鼠标悬停在不同的功能上,查看它们Fitbit的移动应用上的显示效果。 但该页面还解释了为什么这些功能很有价值。...通过允许用户独立了解和选择功能,品牌通过一种有趣的方式消除了臭名昭著的“汽车销售员”的定义。 此外,还有一个显著的配对功能,客户可以看到附近的哪家经销商车库里有满足其所有偏好的车辆。

2.5K30

精准的打包 — Webpack 的 Tree Shaking

作者: 神Q超人 译者:前端小智 来源:medium 前阵子和朋友聊 Webpack 的时候,突然提到 Tree Shaking,但很惭愧的是我没有办法好好说明 Webpack 是如何做到 Tree...add 做使用,但是打包后的档案内容还是会有 composeString: 不过这很正常,毕竟我们还没有做任何处理,Webpack 在打包也不晓得你哪些代码到底有没有用到,就没办法帮你把 composeString...加上 sideEffects 后打包,就不会看到 composeString 结果裡了: 那现在我们再到 src 建立另一个 polyfill.js, ployfill.js 里为 Array...: usedExports 会使用 terser 判断代码有没有 side effect,如果没有用到,又没有 side effect 的话,就会在打包替它标记上 unused harmony,并在...minify(用 Uglifyjs 其他工具)的时候移除。

49520

Adaboost, GBDT 与 XGBoost 的区别

有没有办法通过组合一系列和正方形平行的线(每条线都相当于一个线性分类器)来获得一个比较好的分类效果呢? 第一步:先矮子里拔将军,选择一条平行于四边且最不坏的线段。...因此在这里用回归树拟合残差实际上就是用回归树拟合负梯度(损失函数不为square loss残差并不一定等于负梯度!)。我们实际上是通过梯度下降法对模型参数进行更新。...因此我们有时候会选择其它的损失函数,如absolute lossHuber loss(红色星号的数据为异常值): ? 图片来源:同上。...为了限制树的生长,我们可以加入阈值,增益大于阈值节点分裂,上式的gamma即阈值,它是正则项里叶子节点数T的系数,所以xgboost优化目标函数的同时相当于做了预剪枝。...因此在这里用回归树拟合残差实际上就是用回归树拟合负梯度(损失函数不为square loss残差并不一定等于负梯度!)。我们实际上是通过梯度下降法对模型参数进行更新。

1.7K30
领券