API 安全策略和基础指南

news2024/12/26 23:08:21

API 是当今数字创新计划的核心,已成为应用程序的头号攻击载体。了解什么是 API 安全、为什么它如此重要,以及如何保护您的 API 免受现代威胁至关重要。

什么是 API 安全?

应用程序编程接口(API)是现代应用程序的基石。可以将其视为通往数字世界的匝道。它们使每个人都能连接到重要数据和服务,实现各种关键业务操作,并使数字化转型成为可能。

随着应用程序接口(API)数量的持续增长,以及世界各地的组织越来越依赖它们来交付关键业务计划,它们已成为攻击者的主要目标。我们的《2023 年第一季度 API 安全状况报告》显示,独特的攻击者在六个月内增长了 400%。然而,仍有 30% 的受访者没有制定 API 安全战略。

开放式网络应用程序安全项目(OWASP)将 API 安全定义为:重点关注了解和减轻 API 独特漏洞和安全风险的策略和解决方案。

请继续阅读,了解 API 安全为何已成为当今企业的重要关注点,以及它与应用程序安全有何不同。

API 安全为何重要?

API 已成为网络犯罪分子的主要攻击载体,不良分子意识到,将连接当今数字服务和敏感数据的 API 作为攻击目标是多么有利可图。事实上,根据《2023 年第一季度 API 安全状况报告》(State of API Security Report Q1 2023),在过去一年中,94% 的公司在生产 API 中遇到过 API 安全问题。2017 年,分析公司 Gartner 预测,到 2022 年,API 将成为网络犯罪分子的主要攻击载体,事实证明他们的预测是正确的。近年来,API 攻击成为世界各地的头条新闻,Gartner 已将 API 安全纳入其 2022 年安全参考架构,认识到需要专用的 API 安全工具和方法。

对于当今企业的高级官员来说,API 安全的至关重要性也变得越来越明显。事实上,在我们的 API 安全现状调查中,近一半(48%)的受访者表示 API 安全现已成为 C 级讨论的话题。独立研究公司 Global Surveyz 代表 Salt Security 开展的一项全球调查的结果也证实了这一结论,全球大多数 CISO(78%)表示,与两年前相比,API 安全是当今更优先考虑的问题,95% 的 CISO 表示,API 安全将是未来两年的首要任务。

尽管 API 网关和 Web 应用程序防火墙 (WAF) 等传统安全措施可以为企业的安全堆栈增添价值,但它们跟不上当今日益复杂的 API 攻击方法。事实上,它们无法阻止攻击者窃取敏感数据、影响用户体验或造成其他破坏。要预防和减轻 API 攻击,您需要专门针对 API 而设计的安全策略和技术。

攻击方式已发生变化,而且很容易被忽略

针对应用程序接口的恶意攻击者已经超越了传统的 “一劳永逸 “攻击,如 SQLi 和 XSS。他们现在的重点是寻找 API 业务逻辑中的漏洞。您的 API 是独一无二的,因此攻击也必须是独一无二的。攻击者需要花费几天、几周甚至几个月的时间来探测和学习 API,他们使用的是传统安全工具无法察觉的 “低慢 “技术。

不同类型的 API 安全:从 REST API 到 SOAP 和 GraphQL

REST API 安全性、SOAP 安全性和 GraphQL 安全性在确保 API 和网络应用程序的保护方面都发挥着重要作用。每种技术都有不同的安全方法,需要考虑特定的安全因素。

REST API 安全

REST 是 “表征状态传输”(Representational State Transfer)的缩写,是网络服务中常用的一种架构风格。它依赖于 GET、POST、PUT、DELETE 等标准 HTTP 方法,并使用 URL 来标识资源。 REST API 有其独特的安全考虑因素,例如:

身份验证机制–REST API 通常使用 API 密钥、OAuth 标记或 JSON Web 标记 (JWT) 等身份验证机制来验证客户身份并授予对资源的访问权限。

授权机制:用户通过身份验证后,REST API 会使用授权机制来控制他们可以访问哪些资源。

速率限制:实施速率限制,限制客户端在一定时间内的请求次数,防止滥用和 DoS 攻击。

输入验证:必须采用这种方法来防止常见的安全漏洞,如 SQL 注入和跨站脚本 (XSS) 攻击。

HTTPS 加密:对客户端和服务器之间传输的数据进行加密对 REST API 至关重要。HTTPS 加密用于防止未经授权的拦截。

跨源资源共享(CORS:REST 架构中必须使用 CORS 标头,以控制哪些域可以访问手头的 API。

要有效保护 REST API,除了其他 REST API 安全最佳实践外,还必须考虑到所有这些方面。

SOAP 安全

SOAP(简单对象访问协议)是一种用于在网络服务中交换信息的协议。它通常使用 XML 并依赖于其他网络协议,如 HTTP、SMTP 和 TCP。SOAP 还有一些重要的安全考虑因素:

敏感数据加密:SOAP 信息中的敏感数据应加密,以确保传输过程中的保密性。

XML 验证:根据预定义模式验证 XML 有助于防止 XML 注入和相关攻击。

WS-security 标准:SOAP 为确保信息安全提供了这一安全标准,其中包括信息完整性、保密性、身份验证和授权等功能。

HTTPS 安全:与 REST API 类似,SOAP 信息也应通过 HTTPS 加密传输,以确保传输数据的安全。

数字签名:应尽可能使用数字签名来评估 SOAP 消息的完整性和合法性。

GraphQL 安全性

GraphQL 是一种用于 API 的查询语言,也是一种用于通过后端系统执行这些查询的运行时。与为不同资源提供多个 API 端点的 REST 不同,GraphQL 使用单个端点进行所有查询。以下是 GraphQL 最重要的安全注意事项:

身份验证和授权:GraphQL API 必须实施身份验证和授权机制,以控制对各种查询和突变的访问。近年来,已知有恶意行为者成功利用 GraphQL 授权漏洞实施 API 攻击。

速率限制:应用速率限制对于控制客户端在给定时间内可执行的 GraphQL 查询次数至关重要。

输入验证:对 GraphQL 中的用户输入进行验证和消毒有助于防止常见的安全漏洞。

查询深度限制:必须对 GraphQL 查询的深度设置限制,以防止可能导致拒绝服务 (DoS) 攻击的复杂和资源密集型查询。

归根结底,无论是 REST、SOAP 还是 GraphQL,任何 API 的安全性都取决于最佳实践的组合,其中包括身份验证和授权机制、数据验证以及安全通信协议的使用。一个涵盖发现、运行时保护和左移实践的强大 API 安全战略对于保护 API 不受新出现的威胁至关重要。

Salt—完整的应用程序接口安全,提供全面保护

最常见的 API 攻击类型有哪些?

要想有效保护 API,首先要了解当今的攻击为何与众不同。当今最常见的 API 攻击可分为四类:

缺乏可见性和治理

在这类攻击中,攻击者利用的 API 要么是组织完全不知道的 API(影子 API 或僵尸 API),要么是安全状况不可见的 API(如未托管 API 或第三方 API)。

滥用和误用应用程序接口

要实施这种类型的攻击,不良行为者会完全按照设计使用 API,但会利用设计或开发缺陷,以非预期的恶意方式利用结果,造成恶意结果,如数据外渗。

利用业务逻辑缺陷

在基于业务逻辑的攻击中,黑客会长期使用侦察技术,在每个 API 的独特业务逻辑中寻找漏洞。在可能持续数天、数周甚至数月的侦察阶段,攻击者会寻找可探索的领域,如未经授权访问 API 中的数据或功能。

被盗凭证和社交工程

当不良行为者使用社交工程技术访问有权限的 API 密钥时,就会出现这类威胁。这样,他们就能窃取凭证并使用 API,就好像他们是经过认证的合法用户或管理员一样。根据《2023 年第一季度 API 安全状况报告》(State of API Security Report Q1 2023),在去年,78% 的攻击来自于看似合法的用户,但他们却恶意实现了适当的身份验证。

OWASP API 安全十佳

为了帮助 API 安全行业更深入地了解最常见的 API 攻击,开放式 Web 应用程序安全项目(OWASP)首次发布了 2019 年 API 安全十大漏洞列表。该榜单在 2023 年进行了更新,列出了十个较为重要的 API 漏洞。其中,最常见的有:

API1:2023 受破坏的对象级授权

破损的对象级授权(BOLA)约占 API 攻击的 40%,是最常见的 API 威胁。

由于 API 经常暴露处理对象 ID 的端点,这就形成了一个巨大的潜在攻击面。对象级授权是一种访问控制方法,通常在代码级实施,用于验证用户访问特定对象的能力。现代应用程序使用各种复杂而普遍的授权和访问控制系统。开发人员经常忽略在访问对象前应用这些检查,即使应用程序包含了强大的授权检查基础架构。攻击者可以通过操纵在 API 请求中发送的对象 ID,轻松利用易受对象级授权漏洞影响的 API 端点。BOLA 授权漏洞可导致数据外泄以及未经授权的数据查看、修改或销毁。最终,BOLA 可导致全面账户接管 (ATO)。

API2:2023 用户身份验证中断

攻击者很容易将目标锁定在身份验证流程上,尤其是在这些流程完全暴露或可被公众访问的情况下。OWASP 报告的第二大最常见漏洞是用户身份验证漏洞,攻击者可利用凭证填充、窃取身份验证令牌和暴力破解攻击来获取对应用程序的未授权访问。这样,攻击者就能控制用户账户,非法访问其他用户的数据,并进行未经授权的交易。技术问题,如密码复杂性不足、账户锁定标准缺失、密码和证书的轮换时间过长,或将 API 密钥作为唯一的身份验证方法,都可能导致 API 的身份验证出现问题。

攻击者若能成功利用身份验证程序中的弱点,就能在未经授权的情况下访问其他用户的数据,并使用该用户的账户进行非法交易。

API3:2023 受破坏的对象属性级授权

破坏对象属性级授权合并了通过 “过度数据暴露”(之前被列为 2019 年 OWASP API 安全 Top 10 中的第 3 位)或 “大规模分配”(之前被列为 2019 年榜单中的第 6 位)未经授权访问敏感信息的攻击。这两种技术都是基于 API 端点操作来获取敏感数据。

将这一新威胁引入榜单的主要原因是,即使 API 可以执行足够的对象级授权安全措施,这可能仍然不足以保护它。通常需要对对象及其特征进行更具体的授权。还必须考虑 API 对象内部的不同访问级别,因为 API 对象通常同时具有公共属性和私有属性。

API4:2023 不受限制的资源消耗

不受限制的资源消耗漏洞取代了之前在 OWASP API 安全十大漏洞中排名第四的 “缺乏资源和速率限制 “漏洞。不过,虽然名称变了,但该漏洞总体上没有变化。

API 调用会占用网络、CPU、内存和存储等资源。用户的输入和端点的业务逻辑对满足请求所需的资源数量有重大影响。客户端或用户请求的资源大小或数量不一定受 API 的限制。这不仅有可能对 API 服务器性能造成负面影响并导致拒绝服务(DoS),而且还会使支持身份验证和数据检索的 API 容易受到暴力攻击和枚举攻击,包括令牌和凭证破解。

根据《2023 年第一季度 API 安全状况报告》(State of API Security Report Q1 2023),只有 54% 的受访者将 OWASP API 安全十大问题作为其安全计划的优先考虑事项,尽管 62% 的针对组织的未遂攻击至少利用了其中一种方法。

API 安全性有何不同?

传统的安全解决方案(包括 WAF、API 网关、API 管理工具以及身份和访问管理 (IAM) 工具)并不是为防止对 API 的攻击而设计的。这是因为 API 的安全防护面临着独特的挑战:

API无序扩张:不断变化的环境

随着当今的 DevOps 团队不断开发和更改 API,API 所面临的威胁类型也发生了变化。过去,基于事务的攻击(如 SQL 注入和其他代码执行方法)是最普遍的攻击手段,但如今的攻击通常旨在利用每个 API 背后的底层应用程序和业务逻辑。有 37% 的公司每周更新一次 API,指望开发团队在部署新的或更新的 API 之前发现每一个可能的 API 漏洞是不现实的。

低速和慢速 API 攻击:侦察的力量

SQL 注入或跨站脚本等传统攻击仍在发生,但当今最成功的基于应用程序逻辑的 API 攻击并不遵循那些利用已知漏洞的 “一劳永逸 “机制。由于每个 API 端点都是不同的,而且每次攻击很少源于单个 API 调用,因此每次 API 攻击本质上都是零日攻击,传统工具无法通过基于规则和签名的方法检测到它们。不良分子的侦查活动需要时间。他们可能需要数周甚至数月的时间来寻找数据、查找漏洞并诱导异常行为,从而找到破坏供应链或从 API 中渗出数据的微妙方法。

Shift-Left Tactics缺点和运行时保护的必要性

一直以来,企业在部署应用程序之前都依赖测试来发现安全漏洞。然而,敏捷开发方法的广泛采用和 API 过度扩展的问题使得对每一个 API 漏洞进行测试变得根本不可能。虽然标准的生产前测试可以发现 API 安全最佳实践中的一些漏洞,但却无法发现源于 API 业务逻辑漏洞的漏洞,而这些漏洞恰恰是当今攻击者想要利用的。此外,指望任何开发人员每次都能编写出完全安全的代码是不现实的,因此检测和阻止 API 威胁的唯一方法就是实施运行时保护。

哪些 API 安全最佳实践可用于预防和缓解当今的攻击?

API 的保护具有挑战性。传统解决方案无法处理 API 生态系统的复杂性。攻击者深知这一点,因此他们将重点放在 API 上。

以下最佳实践可以帮助您改善 API 的安全状况:

开发与测试

  • 促进安全的应用程序接口设计和开发:为构建和集成 API 创建安全的编码和配置实践。OWASP 应用程序安全验证标准 (ASVS) 是一个很好的资源。
  • 减少敏感数据的暴露:避免向客户端应用程序发送过多数据,然后依赖客户端应用程序过滤数据。
  • 进行设计审查:确保将业务逻辑纳入设计审查。
  • 记录您的应用程序接口:文档有助于人们了解 API 是如何构建或集成的。设计审查、安全测试和保护尤其需要文档。
  • 使用机器文档格式:使用 OpenAPI Specification (OAS) 等机器格式。然后,您就可以使用这些规范进行基本测试和保护。
  • 维护准确的 API 清单:通过最新的清单,让您的安全团队真实地了解攻击面。捕获此信息的最佳方法是使用自动 API 发现,其中包括 REST、GraphQL 和其他 API 格式。
  • 进行安全测试:使用安全测试工具识别 API 中的配置问题或漏洞。扫描仪不擅长解析业务逻辑,因此您应该分析 API 并在运行时进行模糊测试,以识别可利用的代码。

生产

  • 打开日志记录和监控:遥测数据可帮助您检测攻击、应对事件并在运行时保护 API。将数据作为正常行为的基线。这样,任何异常事件都能被快速识别和解决。
  • 调解 API:使用 API 网关等调解工具来提高可视性和安全性。使用 API 安全解决方案扩展这些平台的功能,从而提供有关 API 的更深入的上下文。
  • 识别 API 漂移:确保有一个计划来确定 API 何时发生变化。同样,能够将文档与 API 的运行时行为进行比较的自动化平台将有助于识别这些差距。然后更新相应的文档。
  • 使用正确的网络安全控制:一些网络控制措施有助于提高 API 的安全性。例如,对 API 发送的数据进行加密。您还可以使用动态速率限制和 IP 地址允许和拒绝列表(假设 API 用户数量较少)。
  • 持续验证和授权:将访问控制和身份存储置于外部。这一步包括 API 网关、身份存储、IAM、密钥管理、公钥基础架构和机密管理。避免使用 API 密钥进行身份验证。
  • 部署运行时保护:确保运行时保护能够识别 API 基础架构中的配置问题。它还应检测行为异常,如凭据填充、暴力逼迫或刮擦尝试。

有哪些方法和工具可用于保护 API?

对应用程序接口的最佳保护是一个从一开始就考虑到应用程序接口安全性的专用平台。正确的 API 安全平台应自动

发现所有新的和已更改的 API,以及它们暴露的任何敏感数据。

在侦查阶段检测并阻止对 API 的攻击。

通过向开发团队提供可行的见解,尽可能在构建阶段消除漏洞。

为整个应用程序接口生命周期提供保护:

完整的 API 安全解决方案应该能够收集、存储和分析数百万用户和 API 调用中的数百个属性,更重要的是,能够利用人工智能(AI)和机器学习(ML)对其进行长期关联。要获得这种广度的背景信息,需要云规模的大数据,因为基于服务器或虚拟机的方法随着时间的推移不会有足够广泛的数据集来识别当今复杂、低速和缓慢的 API 攻击。只有具备了这种自适应智能和深度上下文,您才能拥有保护所有 API 所需的能力。

原文链接:API Security 101: API Security Strategy and Fundamentals Guide

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

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

相关文章

react学习——15react生命周期(新)

一、生命周期图新 二、生命周期三个阶段(新) 1. 初始化阶段:由ReactDOM.render()触发—初次渲染 1. constructor() 2. getDerivedStateFromProps 3. render() 4. componentDidMount()2. 更新阶段:由组件内部this.setSate()或…

【Linux学习十八】网站管理:防火墙介绍、静态站点、动态站点、域名

1.Apache Apache官网: www.apache.org 软件包名称: httpd 服务端口:80/tcp(http) 443/tcp(https) 配置文件: /etc/httpd/conf/httpd.conf 子配置文件:/etc/httpd/conf.d/*.conf 查看被占用的端口号 netstat -tuln | grep <端口号> 解哪个程序正在使用端口 80&#xff0…

微信小程序版threejs的使用

首先是使用环境:我是使用的uniapp制作的微信小程序,当然原生的也是可以的,但是测试过很多,发现微信官方的threejs移植版本只能够导入gltf格式的模型,无法导入obj,这就有些尴尬了,为此我找了很多版本的threejs,首先是threejs-miniprogram,也就是官方的,可以直接在unia…

和AI高效对话,掌握这6个原则就够了!

一、前言 2023年11月30日&#xff0c;ChatGPT3.5发布以后&#xff0c;震撼了全球。很多普通人发现&#xff0c;只要会提问题&#xff0c;自己也可以大大方方地拥抱AI和大模型的浪潮~ 对大模型AI提问的技术&#xff0c;就是我们常说的Prompt技术。 Prompt技术&#xff0c;全称为…

状态压缩动态规划(State Compression DP)算法详解

状态压缩动态规划&#xff08;State Compression DP&#xff09;是一种高效解决组合优化问题的技术&#xff0c;特别适用于那些状态空间较大且可以用二进制表示的情况。本文将详细讲解状态压缩DP的原理、常用的位运算技巧、以及具体的例题分析。 原理概述 状态压缩DP的核心思…

[ios逆向]查看ios安装包ipa签名证书embedded.mobileprovision解密 附带解密环境openssl

openssl smime -inform der -verify -noverify -in embedded.mobileprovision 解密embedded.mobileprovision文件 链接&#xff1a;https://pan.baidu.com/s/1UwNOWONKV1SNj5aX_ZZCzQ?pwdglco 提取码&#xff1a;glco –来自百度网盘超级会员V8的分享 可以使用everything 查看…

红酒邂逅瑜伽,开启一场身、心、灵的完美和谐之旅

在喧嚣的都市中&#xff0c;人们总是渴望寻找一处心灵的宁静&#xff0c;一个能够释放身心疲惫的场景。而红酒与瑜伽&#xff0c;正是这样一对奇妙的组合&#xff0c;它们共同为我们开启了一场身心灵的和谐之旅。今天&#xff0c;就让我们一起走进这个充满魅力的世界&#xff0…

守护变电箱消防安全,全氟己酮自动灭火片该安装在哪个位置?

变电箱、配电柜、换电柜是电力设备的重要组成部分&#xff0c;安全性至关重要。但在使用过程中&#xff0c;容易受到电气、机械、环境等因素影响&#xff0c;出现接触不良、短路、漏电等安全隐患&#xff0c;从而引发火灾事故。为了及时防范火灾风险&#xff0c;提前安装一款能…

「51媒体」湖北地区媒体邀约

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 湖北地区拥有网络媒体、电视媒体、报纸杂志、视频媒体等多…

【论文速读】|MEDFUZZ:探索大语言模型在医学问题回答中的鲁棒性

本次分享论文&#xff1a;MEDFUZZ: EXPLORING THE ROBUSTNESS OF LARGE LANGUAGE MODELS IN MEDICAL QUESTION ANSWERING 基本信息 原文作者&#xff1a;Robert Osazuwa Ness, Katie Matton, Hayden Helm, Sheng Zhang, Junaid Bajwa, Carey E. Priebe, Eric Horvitz 作者单…

ModuleNotFoundError: No module named ‘gdal‘

第一步检查gdal包是否正确安装&#xff1a; conda list 已经安装显示如下 若查找不到&#xff1a;请按照此说明步骤进行安装&#xff1a;ModuleNotFoundError: No module named ‘osgeo‘_modulenotfounderror: no module named osgeo-CSDN博客 第二步&#xff1a;检查是否可以…

Shopee、Lazada测评,是找服务商呢?还是建议自己养号补单呢?

目前大部分Shopee、Lazada的卖家由于运营成本的增加&#xff0c;都会找服务商测评来打造权重&#xff0c;但是找服务商有很多不靠谱&#xff0c;建议还是自行精养一批号&#xff0c;账号在手里比较安全可控&#xff0c;随时随地可以送测&#xff0c;精准搜索关键词货比三家下单…

SolidWorks薄壁等厚实体转换成钣金方法

1. 打开SolidWorks软件&#xff0c;新建一个零件。选前视基准面绘制草图&#xff0c;二次创建凸台拉伸特征&#xff0c;如图所示。 2. 创建抽壳特征&#xff0c;厚度“2 mm”&#xff0c;如图所示。 3. 添加切口草图&#xff0c;根据钣金加工工艺在所选面上创建切口草图&#x…

自定义 Django 管理界面中的多对多内联模型

1. 问题背景 在 Django 管理界面中&#xff0c;用户可以使用内联模型来管理一对多的关系。但是&#xff0c;当一对多关系是多对多时&#xff0c;Django 提供的默认内联模型可能并不适合。例如&#xff0c;如果存在一个产品模型和一个发票模型&#xff0c;并且产品和发票之间是…

LICEcap最轻便的C++开源GIF录制工具汉化版本

LICEcap是一款开源的、跨平台的GIF动画录制工具&#xff0c;它使用C编写&#xff0c;旨在为用户提供简单、高效且功能丰富的屏幕录制体验。无论是Windows、macOS还是Linux&#xff08;通过WINE模拟器&#xff09;&#xff0c;LICEcap都能轻松捕获屏幕上的动态内容&#xff0c;并…

VB列表框

移动是将列表框1中选中的数字移动到列表框2中。 全部是将列表框1中所有数字移动到列表框2中。 Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadDim i As Integer, a As IntegerRandomize()For i 0 To 9a Int(Rnd() * 90) …

Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案

本文字数&#xff1a;8721&#xff1b;估计阅读时间&#xff1a;22 分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 在 Trip.com&#xff0c;我们为用户提供广泛的数字产品&#xff0c;包括酒店和机票预订、景点、旅游套餐、商务…

玩个游戏 找以下2个wordpress外贸主题的不同 你几找到几处

Aitken艾特肯wordpress外贸主题 适合中国产品出海的蓝色风格wordpress外贸主题&#xff0c;产品多图展示、可自定义显示产品详细参数。 https://www.jianzhanpress.com/?p7060 Ultra奥创工业装备公司wordpress主题 蓝色风格wordpress主题&#xff0c;适合装备制造、工业设备…

红酒达人教你秘技:选酒、存酒,一招一式皆学问

在繁忙的都市生活中&#xff0c;红酒不仅仅是一种饮品&#xff0c;更是一种生活态度&#xff0c;一种品味的象征。然而&#xff0c;面对琳琅满目的红酒品牌与种类&#xff0c;如何选择一瓶心仪的红酒&#xff0c;又如何妥善保存&#xff0c;使其保持很好口感&#xff0c;成为了…

数据库字段不区分大小写

如果你的数据库也是这个排序规则&#xff0c;那么就没法区分大小写。常用的是这样的建表语句。它的collate已经声明为ci&#xff08;不区分大小写&#xff09; 这个时候你Cao和cao当作条件去查询其实作用是一样的&#xff0c;查出来的东西一模一样。 想要区分也很简单&#xff…