首页
学习
活动
专区
圈层
工具
发布

网站开发后端技术概述

它承担三项核心功能:一是执行业务规则(如订单处理、权限验证),二是管理数据(存储、查询、更新数据库),三是协调前后端及其他系统交互(如支付接口、API调用)。...)Go: Gin、EchoPHP: Laravel、Symfony 数据库交互ORM工具:ORM即对象关系映射工具,它能在面向对象编程语言和关系型数据库之间建立映射关系。...GraphQL(灵活查询):GraphQL是Facebook开发并于2015年开源的用于API的查询语言规范和运行时环境,也是一种数据查询和操作的解决方案。...GraphQL具有强类型系统,定义了类型、查询、变更、订阅等概念,还提供GraphiQL等开发工具,具有灵活性高、性能优、易维护等优势,被广泛应用于移动应用、网站和API开发等场景 。...用途:异步任务(如邮件发送)、削峰填谷。 搜索引擎 Elasticsearch(全文检索)、Solr(日志分析)。 对象存储 AWS S3、阿里云OSS、MinIO(自建)。

85210

Apipost接口调试全解:从HTTP到gRPC,程序员必备的“协议生存指南

开发者必备的这些API协议,Apipost都支持!...避坑建议:Filter手动写:若无法获取Schema,需按语法手写过滤条件。变量提取:用预执行脚本动态传参,避免硬编码。...5️⃣ TCP & 金融报文:冷门但刚需适用场景:物联网设备通信、金融支付系统(如ISO8583)。骚操作:报文模板:支持定长、分隔符、Raw格式,金融佬直呼专业!...文档生成:一键保存请求/响应示例,接口文档直接导出,和Postman说拜拜。总结Apipost不仅是“Postman平替”,更是协议百宝箱+调试自动化的结合体。...无论你是写API的老手,还是调微服务的新人,用好这些功能,效率直接起飞!

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

    C# 一分钟浅谈:GraphQL 安全性考虑

    引言 随着 GraphQL 在 Web 开发中的广泛应用,其安全性问题也逐渐成为开发者关注的焦点。GraphQL 是一种用于 API 的查询语言,它提供了更高效的数据获取方式,但也带来了新的安全挑战。...本文将从常见的安全问题出发,探讨如何在 C# 中实现安全的 GraphQL API。 常见的安全问题 1....DDoS 攻击 GraphQL API 可能成为 DDoS 攻击的目标,需要采取措施保护 API。 解决方案 速率限制:限制每个 IP 地址的请求频率。 资源限制:限制单个请求的资源消耗。...避免方法:使用参数化查询或 ORM 框架,严格验证和过滤客户端输入。 3. 缺乏性能优化 易错点:忽视性能优化,导致 API 在高并发情况下表现不佳。...通过合理的设计和实施,我们可以有效地解决这些问题,确保 API 的安全性和性能。希望本文的内容能帮助你在 C# 项目中更好地应用 GraphQL。

    47810

    【GraphQL】225-GraphQL真香入门教程

    本质上就是定义 uri ,通过 API 接口来取得资源。通用系统架构,不受语言限制。 例子: 饿了吗接口。 如:接口 restapi/shopping/v3/restaurants?...客户端 这一节我们学习如何在客户端中访问 graphql 的接口。...在 express 中,可以很简单的使用中间件来将请求进行拦截,将没有权限的请求过滤并返回错误提示。 中间件实际上是一个函数,在接口执行之前,先拦截请求,再决定我们是否接着往下走,还是返回错误提示。...属性上 属性定义 定义在类型后,键值对形式 定义在参数对象 fields 属性中,值为对象,每个属性名为键名,值也是对象,其中 type属性的值为 graphql 中的属性,下面会补充 补充: fields...属性中的子属性的类型通常有: graphql.GraphQLString graphql.GraphQLInt graphql.GraphQLBoolean ....

    9.1K21

    C# 一分钟浅谈:GraphQL 安全性考虑

    引言随着 GraphQL 在 Web 开发中的广泛应用,其安全性问题也逐渐成为开发者关注的焦点。GraphQL 是一种用于 API 的查询语言,它提供了更高效的数据获取方式,但也带来了新的安全挑战。...本文将从常见的安全问题出发,探讨如何在 C# 中实现安全的 GraphQL API。常见的安全问题1....DDoS 攻击GraphQL API 可能成为 DDoS 攻击的目标,需要采取措施保护 API。解决方案速率限制:限制每个 IP 地址的请求频率。资源限制:限制单个请求的资源消耗。...避免方法:使用参数化查询或 ORM 框架,严格验证和过滤客户端输入。3. 缺乏性能优化易错点:忽视性能优化,导致 API 在高并发情况下表现不佳。...."); }}总结GraphQL 作为一种强大的 API 查询语言,带来了许多便利,但也伴随着新的安全挑战。通过合理的设计和实施,我们可以有效地解决这些问题,确保 API 的安全性和性能。

    45710

    awesome-php

    的纯PHP任务运行器 Robo - 面向对象的PHP任务运行器 Bldr - 构建在Symfony组件上的PHP任务运行器 导航( Navigation ) 构建导航结构的工具 KnpMenu -...( Filtering ang Validation ) 用于过滤和验证数据的库 Filterus - 一个简单的PHP过滤库 Respect Validation - 一个简单的验证库 Valitron...- Aura 数据验证组件 symfony/validator - Symfony 数据验证组件 REST和API 用于开发restful APIs的库和Web框架 Apigility - 一个使用...api-problem - A simple implementation of the api-problem specification graphql-php - 应用层查询语言库 GraphQL.../sdk - Qiniu Resource Storage SDK for PHP Qiniu/qshell - qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具

    9.9K90

    Symfony PATH_INFO 解析缺陷导致授权绕过漏洞修复指南

    :添加中间件对 PATH_INFO 进行严格校验和过滤Web 服务器层防护:在 Nginx 或 Apache 中配置严格的 URL 重写规则,阻止可疑的 PATH_INFO 格式监控与日志:增强对 PATH_INFO...>安全建议及时更新:始终使用 Symfony 组件的最新稳定版本最小权限原则:严格定义路由访问权限,避免过度宽松的规则定期安全审计:结合自动化工具检查已知漏洞(如使用 composer audit) 核心代码分析漏洞触发点示例以下代码展示了受影响的...$this->pathInfo = $this->prepareRequestUri(); // 缺少对路径遍历(如 ../)和 URL 编码(如 %2e)...''; // 缺少安全过滤 return $requestUri; }}修复补丁示例官方修复补丁的核心改动(基于 Symfony 7.1.2):Symfony 中间件:严格过滤 PATH_INFOnamespace App\Middleware;use Symfony\Component\HttpFoundation\Request

    7300

    GraphQL真香入门教程

    本质上就是定义 uri ,通过 API 接口来取得资源。通用系统架构,不受语言限制。 例子: 饿了吗接口。 如:接口 restapi/shopping/v3/restaurants?...客户端 这一节我们学习如何在客户端中访问 graphql 的接口。...在 express 中,可以很简单的使用中间件来将请求进行拦截,将没有权限的请求过滤并返回错误提示。 中间件实际上是一个函数,在接口执行之前,先拦截请求,再决定我们是否接着往下走,还是返回错误提示。...字符后面,这里是 typeHero 在参数对象的 name 属性上 属性定义 定义在类型后,键值对形式 定义在参数对象 fields 属性中,值为对象,每个属性名为键名,值也是对象,其中 type属性的值为...graphql 中的属性,下面会补充 补充: fields 属性中的子属性的类型通常有: graphql.GraphQLString graphql.GraphQLInt graphql.GraphQLBoolean

    8.1K30

    GraphQL两年实战避坑经验

    作者 | Stein Janssen 译者 | 盖磊 策划 | 蔡芳芳 本文作者分享了在生产环境中使用 GraphQL 的一些经验和解决方法,并给出了一些构建实用 GraphQL 查询和变更(Mutation...本文作者使用 GraphQL Voyager 生成的关系概览图 首先谈谈我们为什么会选择 GraphQL? 无需操心如何更新文档,所有的查询(Query)和变更会自动形成文档。...对此,一种解决方法是过滤掉特定查询和变更。具体而言,应用遍历 Schema 中所有的查询和变更,并与给定的列表做对比。如果查询存在于列表中,则设为可见。如果不在列表中,就从 Schema 中移除。...这对于变更不存在问题,但并不适用于所有的查询,因为父对象和子对象只是在 Public API 做拼接。为解决这个问题,我们需要再次重新编排配置,如下图所示: ?...下面给出一些有助于构建可维护 GraphQL API 的小建议: 类型和枚举的命名必须唯一。

    1.3K30

    新一代数据查询语言GraphQL来啦!

    当时他们的iOS和android移动应用实际上是就是他们Web应用的内容再加上一个本地浏览器的壳。...GraphQL很自然的以对象和属性来表示数据之间的关系,这也是GraphQL的命名由来。 你可以简单的把GraphQL查询看成三部分。...由{}包裹的对象 对象由属性列表组成 ()包裹的查询条件 // 获取用户信息的同时获取该位用户的朋友信息列表,包括姓名、性别和地址信息 { user (id: 1001){ // 第一层 name...GraphQL服务通过定义类型和属性来创建,然后为在这些类型上的每个属性创建函数。跟SQL类似,这使得GraphQL在执行查询之前可以提供描述性的错误信息。...3.5 自检性 一个GraphQL服务可以直接查询出它所支持的类型,也就是说你不需要花时间写API文档,也不需要花时间理解API。GraphQL直接帮助开发者快速学习和探索API。

    3.3K70

    新一代数据查询语言GraphQL来啦!

    当时他们的iOS和android移动应用实际上是就是他们Web应用的内容再加上一个本地浏览器的壳。...GraphQL很自然的以对象和属性来表示数据之间的关系,这也是GraphQL的命名由来。 你可以简单的把GraphQL查询看成三部分。...由{}包裹的对象 对象由属性列表组成 ()包裹的查询条件 // 获取用户信息的同时获取该位用户的朋友信息列表,包括姓名、性别和地址信息 { user (id: 1001){ // 第一层 name...GraphQL服务通过定义类型和属性来创建,然后为在这些类型上的每个属性创建函数。跟SQL类似,这使得GraphQL在执行查询之前可以提供描述性的错误信息。...3.5 自检性 一个GraphQL服务可以直接查询出它所支持的类型,也就是说你不需要花时间写API文档,也不需要花时间理解API。GraphQL直接帮助开发者快速学习和探索API。

    1.1K30

    出版社题库管理系统的技术架构

    通信方式: 通过 HTTP/HTTPS 协议与应用层进行通信,通常使用 RESTful API 或 GraphQL。...), .NET (ASP.NET Core), PHP (Laravel/Symfony) 等。...权限管理: 实现细粒度的权限控制,确保不同角色的用户只能访问和操作其权限范围内的资源。API 设计: 设计清晰、易用的 API 接口,方便前端和其他系统进行集成。...安全性: 在各个层面考虑安全性,例如防止 SQL 注入、XSS 攻击,保护用户数据和题库内容。五、部署架构:传统部署: 将所有组件部署在单个或多个服务器上。...云平台部署: 将系统部署到云服务提供商(如 AWS, GCP, Azure)的云平台上,利用云服务的弹性伸缩和高可用性。总结:出版社题库管理系统的技术架构是一个涉及多个技术栈的复杂系统。

    29510

    精准获取你想要的!— 揭秘如何用字段选择参数优化数据查询

    好事发生  这里先给大家推荐一篇实用的好文章:《如何在接口设计中加上性能监控,让接口时刻“感知”自己的健康状态!》...像你和餐厅点餐时,菜单上琳琅满目的选择很多,但你只想吃一个“炸鸡腿”和一杯“可乐”,不想被一大堆其他无关的菜品困扰。这时,字段选择参数就成了你的点餐清单,精准无误地指定了你需要的“菜品”。‍...忘记考虑嵌套字段:嵌套数据是字段选择的高频场景,尤其在 GraphQL 中,需要注意不要遗漏重要的子字段。 裁剪过度:裁掉过多字段导致客户端需要额外请求补充数据,增加不必要的通信成本。...未来发展趋势  随着技术的进步,API 查询的灵活性和智能性也在不断提升。...此外,像 GraphQL 和 REST API 结合的 Hybrid 模式,或者通过低代码平台自动生成字段选择逻辑,也可能成为未来开发的重要趋势。

    71121

    C# 一分钟浅谈:GraphQL 与 REST 比较

    随着互联网技术的快速发展,API 设计模式也在不断进化。REST 和 GraphQL 是两种非常流行的 API 设计风格。...本文将从概念、优缺点以及如何在 C# 中实现这两个 API 风格进行比较,并通过代码案例进行解释。 1....RESTful API 通常使用 HTTP 协议,通过不同的 HTTP 方法(如 GET、POST、PUT、DELETE)来操作资源。...3.3 如何避免 RESTful API: 使用分页和过滤功能,减少数据传输量。 提供多个端点,满足不同客户端的需求。...总结 REST 和 GraphQL 各有优缺点,选择哪种 API 风格取决于具体的应用场景和需求。对于简单的 API,REST 可能更加合适;而对于复杂的数据获取需求,GraphQL 则更具优势。

    35310

    渗透中遇到GraphQL怎么搞?

    graphql使用 在我看来,graphql提供了一种api的解决方案。 以前我们查询api提供的数据是怎么做的呢?...实际上还是借助了面向对象的思想,graphql把每一种数据都给抽象成了一个类,例如咱们上面提到的两个接口,在graphql中,这两个接口背后对应的数据就可以被抽象为Book类以及Author类 但是,这里说的类只是一个概念...规避方案:目前还不了解graphql是否支持关闭内省机制,但是我们可以在业务上对内省机制进行限制,例如过滤查询中的__schema、__type关键词,这两个关键词都是小写,所以暂时也不需要担心大写绕过的问题...(但是业务上对大小写进行了不正确的转换就另说了) 自动绑定 自动绑定原理其实很简单,和spring中的自动绑定机制有点类似,就是如果我爆破出了你的敏感接口、以及对应的字段,我就可以直接使用,这本就是graphql...,因为graphql是单路由的api,所以,开发者往往也只是对这个路由进行了权限判断 但是实际上graphql中注册的各个查询可能要求的权限是不一样的 例如只有admin权限才能调用的查询addMoney

    3.7K41

    GraphQL 从入门到实践

    什么是 GraphQL GraphQL 是一种面向数据的 API 查询风格。...一些常用的解决方案如 Apollo 可以帮省略一些简单的解析函数,比如一个字段没有提供对应的解析函数时,会从上层返回对象中读取和返回与这个字段同名的属性。...withFilter 的作用是过滤掉不需要的订阅消息,详细用法参照订阅过滤器。 首先我们发布一个订阅请求 # 请求 subscription subsUser($id: ID!)...如果使用 GraphQL,那么后端将不再产出 API,而是将 Controller 层维护为 Resolver,和前端约定一套 Schema,这个 Schema 将用来生成接口文档,前端直接通过 Schema...据一位在 Twitter 工作的大佬说硅谷不少一线二线的公司都在想办法转到 GraphQL 上,但是同时也说了 GraphQL 还需要时间发展,因为将它使用到生产环境需要前后端大量的重构,这无疑需要高层的推动和决心

    3.2K31

    C# 一分钟浅谈:GraphQL 与 REST 比较

    随着互联网技术的快速发展,API 设计模式也在不断进化。REST 和 GraphQL 是两种非常流行的 API 设计风格。...本文将从概念、优缺点以及如何在 C# 中实现这两个 API 风格进行比较,并通过代码案例进行解释。1....RESTful API 通常使用 HTTP 协议,通过不同的 HTTP 方法(如 GET、POST、PUT、DELETE)来操作资源。...3.3 如何避免RESTful API:使用分页和过滤功能,减少数据传输量。提供多个端点,满足不同客户端的需求。...总结REST 和 GraphQL 各有优缺点,选择哪种 API 风格取决于具体的应用场景和需求。对于简单的 API,REST 可能更加合适;而对于复杂的数据获取需求,GraphQL 则更具优势。

    65410

    为什么我使用 GraphQL 而放弃 REST API?

    分页和过滤并不简单 大多数 API 都使用对象集合。在待办事项列表应用中,列表本身就是一个集合。大多数集合都可以包含 100 多个项。...但通常,我们没有办法阻止特性蔓延,可能会出现使用AND/OR操作符进行高级过滤的需求。或者复杂的全文搜索查询和复杂的过滤。迟早你会看到一些 API 发明了自己的过滤 DSL。...服务器只需以这种方式实现顶级模式对象。 一个简单的例子 GraphQL 模式定义了可用于在服务器和客户端之间通信的类型。...在大多数情况下,向 GraphQL API 发出的每个请求要么是没有副作用的Query实例,要么是会修改存储在服务器上的对象的Mutation实例。...客户端库可以很容易地将 GraphQL 响应自动解包为所需类型的对象实例,因为从模式和查询可以提前知道响应形状。 GraphQL 是个时髦的东西,是一种时尚,对吗?

    3.3K30

    GraphQL 是一个陷阱?

    尽管有些 API 在设计上支持通用特性,但就像大多数 API 的风格一样,GraphQL API 是通用的还是特定的,是您自己决定的。...一个通用的 GraphQL API 与大多数人认为的最佳实践背道而驰。事实上,GraphQL 规范一直拒绝通用 / 类数据库功能(如过滤、排序等)的提议。...【推文 2 】在任何应用程序中,管理对象生命周期都很困难,因为它们在内部具有图形化性质,公开时情况会更糟。如果可以充分考虑公开哪些连接,几乎每个系统都更容易预测和维护。...GraphQL API 公开的内容就是您选择公开的内容,而无需公开内部细节;重点是 GraphQL 中的连接是人为设计的,另外在 GraphQL 中避免不可预知的对象访问,与在典型的基于资源的 API...在构建 GraphQL API 时,有很多方法可以进行改善,比如正确设置批处理和缓存数据加载;如果您将对象类型视为 “资源”或“端点”时,安全性与其它 API 都非常相似。

    1.3K10

    REST 已死:为什么你的 .NET API 应该迁移到 GraphQL

    定义 GraphQL API 时,需先定义这些类型: • 对象类型:主数据模型(如 User、Order、Product) • 标量类型:基础数据类型(String、Int、Boolean 等) • 输入类型...2️⃣ 用户配置文件的网络负载: • REST:24KB(完整用户对象) • GraphQL:8KB(仅请求的字段) 何时不应使用 GraphQL? 实话实说——它并非万能: 1....• 活跃社区 • 定期更新 其他选项如 GraphQL.NET 也存在,但 HotChocolate 因与 ASP.NET Core 的深度集成成为事实标准。...• HotChocolate.Data: 支持过滤、排序、分页和 Entity Framework Core 集成。....UseDbContext(); } } 高级 GraphQL 实践 4️⃣ 添加过滤、排序和分页 public class Query { [UsePaging

    58400
    领券