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

接口测试面试题

接口安全: 1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?...2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功 3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话...比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。...现在市面上有非常多种风格的Web API,目前最流行的是也容易访问的一种风格是REST或者叫RESTful 风格的API。 26 简介restful接口、webservice接口?...第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。

1.9K10

赏心悦目的RESTful API这样来设计!

比如: 异步操作:服务器已接收到请求,但是还未处理,但是会在未来处理 资源已经存在,没有创建新的资源 (有些业务可能会返回错误信息"您创建的数据已存在",所以这种情景没有明确的规定,符合自己的业务需求即可...) 4xx 状态码 4xx 状态码表示客户端的错误,主要有以下几种: 400BadRequest:服务器不理解客户端的请求,未做任何处理 401Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证...比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式 这里要注意状态码 401 和 403 的区别 5xx 状态码 5xx 状态码表示服务端错误,通常只会用到两个: 500InternalServerError..., 将查看 API URL 中的 id 直接替换成 1。...另外,前端人员打开开发者工具,双击请求链接,会自动将 response 中的 json 数据解析出来,非常方便 Postman Postman 功能十分强大, 搜索 Postman自定义环境变量,会打开新世界的大门

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

    如何设计好的RESTful API

    比如: 异步操作:服务器已接收到请求,但是还未处理,但是会在未来处理 资源已经存在,没有创建新的资源 (有些业务可能会返回错误信息"您创建的数据已存在",所以这种情景没有明确的规定,符合自己的业务需求即可...) 4xx 状态码 4xx 状态码表示客户端的错误,主要有以下几种: 400BadRequest:服务器不理解客户端的请求,未做任何处理 401Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证...比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式 这里要注意状态码 401 和 403 的区别 5xx 状态码 5xx 状态码表示服务端错误,通常只会用到两个: 500InternalServerError..., 将查看 API URL 中的 id 直接替换成 1。...另外,前端人员打开开发者工具,双击请求链接,会自动将 response 中的 json 数据解析出来,非常方便 Postman Postman 功能十分强大, 搜索 Postman自定义环境变量,会打开新世界的大门

    2.2K20

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”     REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过...URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态     所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性...401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。 403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...,并且这个解析器基本上能够解析所有的数据类型,包括django不能自动解析的json数据类型,我们通过Postman(关于Postman工具的使用,看下面那个章节)来调试一下,看看效果 ?

    3.1K20

    如何实现和调试REST API中的摘要认证(Digest Authentication)

    如何实现和调试REST API中的摘要认证(Digest Authentication)在保护REST API时,开发者通常会在多种认证机制之间进行选择,其中摘要认证(Digest Authentication...数据完整性保护:通过哈希响应,摘要认证能够确保传输过程中数据未被篡改,有效保护通信的完整性。这些特性使得摘要认证在需要注重安全性的REST API应用中成为一个可靠的选择。...如何使用工具测试摘要认证测试摘要认证可以通过多种工具进行:Postman:你可以在Postman中设置一个新请求,使用"Authorization"选项卡选择"Digest Auth",并输入你的凭证。...Postman将处理nonce并生成正确的认证头部。...通过确保密码哈希化和防止重放攻击,摘要认证为API交互提供了更安全的环境。使用Java和Go实现摘要认证相对简单,而Postman、cURL和Insomnia等工具可以简化测试过程。

    88000

    什么是RESTful,REST api设计时应该遵守什么样的规则?

    符合 REST 的系统,通常称为 RESTful 系统,其特点是它们是无状态的,并且将客户端和服务器的关注点分开,即前后端分离。...如何使用REST API?HTTP 动词REST API 通过各种 HTTP 请求方法,使前端与服务器的通信过程更容易,最常用的方法是:GET : 用于读取服务器上的数据。POST : 用于创建数据。...2xxs:成功,请求成功完成3xxs:重定向,收到的请求重定向到另一个地址。4xxs:客户端错误,例如,404 - 找不到页面。5xxs:服务器错误,请求失败。...(客户端应修改请求)401:未经授权,凭据无法识别403:禁止,凭据接受但没有权限404:未找到,资源不存在410:消失了,资源以前存在但现在不存在429:请求过多,用于速率限制,应包含重试标头500:...服务器错误,一般性,值得查看其他 500 级错误503:服务不可用,另一个重试标头有用总结REST是一种软件架构风格,用于 Web 架构的设计,任何遵循 REST 设计原则的 API都被称为 RESTful

    1.5K30

    使用 Postman 与 Kotlin 交互REST API接口数据 顶

    在前面2篇文章使用 Kotlin 和Spring Boot 2.0快速开发REST API接口和使用 Kotlin 和Spring Boot 2.0快速开发REST API客户端介绍了如何使用简单代码快速实现...REST API的服务端接口及客户端应用。...此文简单介绍如何使用Postman快速完成REST API接口的数据交互及调试工作,Postman的下载地址:https://www.getpostman.com/ 就像其主页上说明的一样,Postman...能让API的开发工作更加简单高效,建议做API开发还没有用过Postman的同学尝尝鲜。...FORM表单参数仅支持简单类型参数传值,而Request Body可通过JSON格式传递复杂类型数据到服务端,Spring WebFlux框架会自动将JSON格式的入参转化为指定类型的实体bean,如果传入的是多个

    2.9K30

    REST API 设计最佳实践:如何构建、设计和使用 API ?

    在响应体中返回错误详情 当API服务器处理错误时,将错误详细信息包含在JSON主体中可以帮助使用者进行调试,这是是非常方便的,如果您还能说明哪些字段受到了错误的影响,那就更好了!...有一天,当我将REST API集成到我的一个项目中时,每次调用都收到HTTP 500内部错误。...了解401未授权和403禁止之间的区别 如果我每看到一次开发人员甚至有经验的架构师搞砸这个问题就能得到一个25美分硬币……在处理REST API中的安全错误时,很容易弄混错误是与身份验证还是授权(又称权限...根据不同情况,以下是我的备忘单,用于了解我正在处理什么问题: 消费者没有提供身份验证凭据吗?他们的SSO令牌是否无效/超时? 401 未授权。...我强烈建议您试一试这些框架,它们将帮助您构建美观、优雅且设计精良的REST API。 结束语 我们都应该努力使API变得易于使用。无论是对于消费者,还是我们自己的开发人员同伴。

    2.2K40

    5个REST API安全准则

    当开发REST API时,从一开始就必须注意安全方面。 REST是通过URL路径元素表达系统中特定实体的手段。REST不是一个架构,而是一种在Web上构建服务的架构风格。...当设计REST API时,不要只使用200成功或404错误。 以下是每个REST API状态返回代码要考虑的一些指南。 正确的错误处理可以帮助验证传入的请求,并更好地识别潜在的安全风险。...200 OK -回应一个成功的REST API的行动。HTTP方法可以是GET,POST,PUT,PATCH或DELETE。 400错误请求 -请求格式错误,如消息正文格式错误。...429太多的请求 -可能存在的DOS攻击检测或由于速率限制的请求被拒绝 (1)401和403 401“未授权”的真正含义未经身份验证的,“需要有效凭据才能作出回应。”...403“禁止”的真正含义未经授权,“我明白您的凭据,但很抱歉,你是不允许的!” 概要 在这篇文章中,介绍了5个RESTful API安全问题和如何解决这些问题的指南。

    5.1K10

    13 个设计 REST API 的最佳实践

    当然了,你可以将 HTTP 协议中所提供的任何东西应用于 REST API 的设计之中,但以上这些是比较基础的,因此时刻将它们记在脑海中是很有必要的。 2....某天,我在将某个 API 端点集成到项目中,但是我总是收到 500 Internal Error 的错误,我调用的端点差不多看起来这样: POST: /entities ``` 调试一段时间之后...分清 401 和 403 当我们遇到 API 中关于安全的错误提示时,很容易混淆这两个不同类型的错误,认证和授权(比如权限相关)—— 老实讲,我自己也经常搞混。...这里是我自己总结的备忘录,它阐述了我如何在实际情况下,区分它们: 用户是否未提供身份验证凭据?认证是否还有效?这种类型的错误一般是未认证(401 Unauthorized)。...我强烈建议你给这些框架一个机会!它们将帮助你构建规范,优雅且设计良好的 REST API 服务。 总结 我们都应致力于让调用 API 这件事成为一种乐趣。

    4.3K20

    隐形的漏洞:一条被覆盖的Spring Security规则如何暴露Druid监控?

    我不相信有人会特意花时间花精力去配置一个让druid页面未授权也可访问的规则,这不是多余嘛。现在哪个云数据库上没有慢SQL之类的监听,完全不需要使用druid自带的这个能力。...解决办法就很简单了:这条规则删除掉。重启服务,这个页面就访问时就需要认证信息了。 另外,可以把Druid的这个特性关掉。...AuthenticationManager 验证凭据 认证过滤器将 Authentication 对象(如 UsernamePasswordAuthenticationToken)传递给 AuthenticationManager...AccessDecisionManager 执行投票 FilterSecurityInterceptor 将 Authentication、请求对象和授权配置传递给 AccessDecisionManager...四、异常处理 ExceptionTranslationFilter 捕获异常 认证异常(如 AuthenticationException)重定向到登录页(表单登录)或返回 401(REST API)。

    36010

    Web开发避坑指南:默语为你详解502503504400401及Connection Reset(小白自救手册)

    摘要: 嘿,各位奋战在Web开发一线的小伙伴们,我是默语!在我们的日常工作中,与HTTP错误码打交道是家常便饭。...Web开发避坑指南:默语为你详解502/503/504/400/401及Connection Reset(小白自救手册) 引言: Web应用的世界就像一个庞大而精密的机器网络,浏览器(客户端)和服务器之间通过...502 Bad Gateway错误表示作为网关或代理的服务器,从上游服务器(比如我们的应用服务器)收到了一个无效的响应。...负载均衡器配置错误: 如果使用了负载均衡器,它可能错误地将请求转发到了一个不健康或不存在的上游服务器。...6.3 常见原因 未提供认证凭据:客户端没有在请求中(通常是 Authorization请求头)包含任何认证信息。 认证凭据无效: 提供的用户名/密码错误。

    2.3K00

    javaweb中的请求与响应--基于postman工具的应用(附带postman的详细安装步骤)

    不知道读者们有没有好好的去学这方面的知识,没有什么是学不会的,关键是坚持。 Postman这款应用一定要好好的去熟悉一下,挺重要的。 明天试着做一下综合案例,ヾ(◍°∇°◍)ノ゙。...二、Postman简介 Postman 是一个流行的 API 开发工具,主要用于测试、调试和管理 API。...三、postman的安装 第一步:访问官网 Postman API Platform | Sign Up for Free https://www.postman.com/ 第二步:下载 四、各种类型的请求...这种方法适用于需要接收复杂结构的 JSON 数据的情况,例如通过 REST API 提交用户信息、创建资源等操作。...在这个例子中,Spring MVC 将提取路径中的 id 值,并将其转换为 int 类型,然后传递给方法 pathParam。

    25010

    如何设计出优秀的Restful API?

    Roy Fielding提出了一种用于设计Web服务的架构方法,称为Representational State Transfer(REST)。REST的概念是将API结构分离为操作和资源。...对于不同的操作,会衍生出越来越多的API接口,数量不停的增多,接口将会变得混乱和难以维护。 有没有感觉哪里不对? URL应仅包含资源(名词)而不包含动作或者动词!...很多人喜欢把错误信息放在返回值中,典型的Code和Message,其实比较Low。 下面是Http状态码,可以合理利用处理各种请求反馈,将http自身的错误和服务器内部的错误,有一个很好的区分。...401 Unauthorized表示不允许客户端访问资源,并应使用所需凭据重新请求。 403 Forbidden表示请求有效且客户端已通过身份验证,但不允许客户端出于任何原因访问该页面或资源。...比如401表示用户身份认证失败,403表示你验证身份通过了,但是无权限操作资源。 在此,祝大家设计出优秀的Restful API!

    1.4K10

    Yii2.0 RESTful API 认证教程

    sessions 或 cookies 维护, 常用的做法是每个请求都发送一个秘密的 access token 来认证用户, 由于 access token 可以唯一识别和认证用户,API 请求应通过...\models\User.php 实现认证类,继承 IdentityInterface 将 common\models\User 类拷贝到 api\models\目录下,修改命名空间为api\models...login', ], ], ], ] 使用一个调试工具来进行测试 http://youdomain/users/login 记住是POST 请求发送,假如用POSTMAN...ok,不出意外的话,相信你已经可以收到一个access_token了,接下来就是如何使用这个token,如何维持认证状态,达到不携带这个token将无法访问,返回401 维持认证状态 实现认证只需两步:...上面的格式本章并不存在,你只要返回 401 即可 ok,这里介绍两种访问方式,一种是URL访问,另一种是通过header 来进行携带 http://youdomain/articles?

    2.2K30

    用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它

    当服务器收到这次请求时, 它验证了Authorization Header里的凭据, 并让请求通过了管道....但是它主要用于包含页面的web应用, 例如MVC或Razor Page, 并不适用于REST/Web API, 所以不介绍它了....我一直在用Identity Server 4, 但是这里不会深入介绍, 这里主要介绍如何实现REST API, 如果有需要的话, 可以写一系列关于Identity Server 4的文章....当所支持的浏览器接收到这个header的时候, 浏览器就会阻止任何通过HTTP到指定域名的通信, 会使用HTTPS代替. 同时它也会阻止从浏览提的提示框点击的HTTPS....其它 其它可能需要了解的包括:POSTMAN/Newman自动化测试,CI,CD,GraphQL等等。我就不介绍了 这个系列文章就到这了。

    1.7K20

    Python进阶39-drf框架(一)

    “表征状态转移” 2.REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态 3.REST与技术无关...,将一切数据视为资源是REST区别与其他架构风格的最本质属性 5.对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture...与用户的通信协议,总是使用HTTPs协议 域名: https://api.example.com 尽量将API部署在专用域名(会存在跨域问题) https://example.org...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

    4.8K30

    吐血总结,Python Requests库使用指南

    你可以通过下面方式来向GitHub的 Root REST API 发出GET请求: >>> requests.get( https://api.github.com ) ...你还可以通过添加或修改发送的请求的头部来自定义你的请求。 ---- 请求头 要自定义请求头,你可以使用 headers 参数将HTTP头部组成的字典传递给 get()。...通常,你通过将数据传递到 Authorization 头信息或服务定义的自定义头信息来向服务器提供凭据。你在此处看到的所有请求函数都提供了一个名为 auth 的参数,允许你传递凭据。...如果你尝试在没有凭据的情况下发出此请求,你将看到状态代码为 401Unauthorized : >>> requests.get( https://api.github.com/user ) 401]> 当你以元组形式吧用户名和密码传递给 auth 参数时, rqeuests 将使用HTTP的基本访问认证方案来应用凭据。

    10.3K31
    领券