jwt 的 token 被获取怎么办

2023-10-29

jwt 签发后,每次请求会续期,如果 token 被抓包后,别人得到后,有没有好的方案解决身份窃取问抗投诉服务器题?

签发 token 的时候加入一些验证信息,比如 IP
如果当前 request IP 和签发时候的 IP 不一致就加 blacklist 里

不嫌麻烦的话,搞一个验签。拿到 token 也没有

ip 这种也想过,不过,做不了,因为,我们是多个子系统的,后端需要请求 uc,那么每次来的都是后端 ip

csrf 那种么?

插眼,目前方案是一定时间失效再申请

现在都是 HTTPS,为什么会被抓包呢?所以不存在这个问题
你要说是在用户设备上抓包,那么他都拿到了用户的物理机器,这个应该不在防范的考虑范围之内吧。就跟你拿到服务器的实体,可以不输密码重启进入安全模式一样

nginx redis block list

手机移动的话是不是要被坑死,动不动被踢出来,这方案一看就不靠谱啊

要么 token 里加 ip 这些参数做二次校验,要么缩短 token 时间,走刷新 token 流程

jwt token 这里主要作用应该是登录身份验证,验签主要作用识别敌我,看是不是我们的人请求过来了,给 API 加个签名

我们公司卖软件,要安装到客户机器上,他们可能不用 https 协议

传统 cookie+session 的方式,cookie 被抓包怎么办? 不是所有的网络层攻击都能靠应用层解决。

下发包含 refresh_token 的,强制 3600s access_token 过期,如果要使 access_token 不过期,就用 refresh_token 去刷新,如果都过期了就重新登录吧

想要完全防止这种的话似乎只能在服务器端记录一个校验信息了,保证只有最后一次签发的能校验通过,其他的都拒掉,然后用专门的接口一小段时间后来续期就可以吧

传统 cookie+session 的模式中,服务器 session 里一般会记录校验信息,每次刷新到新的会更新校验信息,就算 cookie 抓包一会就失效了,就现实来说按顺序抓到所有包再次拿到刷新后的 cookie 的可能毕竟要困难上好几个数量级的

没有不靠谱啊,我见到过的都是基于 AS Number 识别的

既然能抓你 jwt 就不能抓你签名密钥了?所以签名在这种情况下并不能防劫持

用登录密码作为签名密钥,修改密码后之前签发的 token 就失效了

反代的时候加上 forward 头啊

是么? AS Number 怎么说?一般能抓包劫持的肯定是在相同网络来源里的,不能区分吧,再者移动设备 wifi 切到 4g,ip 肯定变啊,你总不能这样就退出登录了吧

如果希望用 IP 方案的话,了解一下 X-Forwarded-For,整个链路上所有节点都遵守这个标准能解决很多问题。
不过用 IP 方案可能也解决不了你的问题,因为要考虑有些客户端会变 IP 的,一变 IP 就重新登录可能体验也不好。
可以考虑加个互踢,token 泄露一次,用户只需要重新登录就可以让以前泄露的 token 及其刷新产生的 token 全都失效。
token 这种方案其实保证使用 HTTPS 通信的话,一般是没问题的,客户侧的安全问题只能由客户自己解决,除非你提供专用终端。
另外就是可以增加偷到 token 后的使用难度,比如前端混淆代码对 token 和 payload 做个公钥签名,token 和签名一起发,后端私钥验证签名错误则认为 token 无效,只要你的混淆代码难以被逆向或外部调用,破解成本就会很高。

以前我的一些项目只是设置了一个刷新机制,token 有效期内被盗用挺无解的~

jwt 是无 server 的,注定没办法实现这种功能,如果想实现黑名单必定要破坏 jwt 的无 server,那其实和 cookie 也就没什么两样了。

有同样困惑,蹲一个。
JWT 因为 token 丢失就无法防范,造成 token 也不敢给太长时间。导致用户隔不久就得重新登录。这个体验缺陷不太好接受。

看看钉钉机器人的加签认证,developers.dingtalk.com/document/app/custom-robot-access

如果是拿着 token 做爬虫,那么可以随机在页面上做校验,如果是用模拟点击方式爬虫,那没办法,只能一定时间内限量请求。。。

加了 https 后能泄露的,都是故意把 token 提取出来的,这种你没办法再防了,是用户自己在攻击自己

你如果能知道这个 token 已经被盗了,那就是需要做 token 的黑名单,如果你不知道这个 token 是不是被盗了,那和 jwt 没啥关系。

有缘人啊,参考如下
Token Sidejacking¶
Symptom¶
This attack occurs when a token has been intercepted/stolen by an attacker and they use it to gain access to the system using targeted user identity.
How to Prevent¶
A way to prevent it is to add a “user context” in the token. A user context will be composed of the following information:
A random string that will be generated during the authentication phase. It will be sent to the client as an hardened cookie (flags: HttpOnly + Secure + SameSite + cookie prefixes).
A SHA256 hash of the random string will be stored in the token (instead of the raw value) in order to prevent any XSS issues allowing the attacker to read the random string value and setting the expected cookie.
IP addresses should not be used because there are some legitimate situations in which the IP address can change during the same session. For example, when an user accesses an application through their mobile device and the mobile operator changes during the exchange, then the IP address

解决不了。如果他想抓你包的话。
你这个问题背后,实际上背后是一个很大的问题,也可以说,不是问题。

个人认为,ip 可能会变,不可取。https 也照样抓包。
可以考虑再加盐 sign,然后再加上时间戳和随机字符串防重放。

如果没有 HTTPS 的话,和 JWT 没有任何关系,即使你每次都走验证流程,账号密码依然可能被中间人拿到,其结果是一致的,因此假设客户端、服务端可信,而信道不可信,则需要使用类似 HTTPS 的解决方案,比如应用发出请求时就 AES 一遍,如果客户端与信道均不可信,那么此题无解

加个黑名单就是了

这就是无脑用 JWT 的后果了。。。简单的说,JWT 不适合楼主这种需求。换成自己的轮子吧,用服务端存 Token 的虎符模式,别用 JWT 的这种无服务端的印信模式。
什么是虎符?古代将军领兵的信物。一半在实际掌握军队的军官手上,一半由皇帝临时授予领兵作战的指挥官。军官看到指挥官拿的虎符能与自己的合为一体,就听从指挥官的命令,否则就把骗子抓起来。
什么是印信?就是古代皇帝授予行政官员某地行政管理权的凭证。地方上官员认印不认人,所以西游记里面强盗杀了唐僧他爹,夺了印信就能堂而皇之地去上任。

“每次请求会续期” 这就是问题所在。
JWT 和 Session 的本质区别是什么?是 JWT 设计目的是“不需要中央服务器即可验证有效性”;签发在中央服务器,验证在业务服务器,不需要和签发服务器交互。由于其本质是离线验证,因此无法吊销。有那些个闲人搞出来 JWT 吊销机制完全破坏了这个设计目的,纯属闲的,直接用 Session 不好么。
那么如果不用那些个闲的卵疼的吊销机制,JWT 就只能使用“拒绝续期”机制。把 JWT 有效期设置得短一点,然后要求客户端频繁去「中央服务器」续期。当身份窃取时就拒绝续期。
而 LZ 是“每次请求会续期”,这说明什么?说明业务服务器能续期啊!这种行为完全破坏了续期机制的意义,还不如设置一个一百年的有效期,省得麻烦。

量子通信

https

曾经有个三哥面试官问过我这个问题
我说没办法
因为 jwt 不过存储,我发吊销
他表示不满意,但也没说怎么做
真没想到是个三哥

要存储的 jwt 就变成了 session 注:存储 jwt 的黑名单一样是存储

好好的 cookie + session 方案你不用,学人家玩 token 。无状态 token 身份认证轻量是真的轻量,但弊端也不少啊。如果加入服务端续期什么,那还不如直接用 cookie + session,强行使用只不过造了个轮子。结合实际需求,选择技术方案。

我发现现在凡是 token 就是 JWT……也不管合适不合适。完全就是滥用

都能被抓包了,还有什么干不了的?

都能被抓包了,还有什么干不了的? +1
你做软件安全,总有个约束范围。 抓包侵害的是单个用户,不值得花大气力保护;
如果你涉及到资金等重要业务,可以加二次验证。 比如发送短信验证码,验证通过才能完成转账的动作。

access token 和 refresh token
access token 时间短些

也有疑问,插眼

我觉得主要原因是一堆开源的快速开发平台使用了 jwt token 做无状态的身份认证,以至于带起了这股风气。而为什么这些快速开发平台选择了 jwt token,应该是前后端分离后,后端接口用 token 好调试,前端调用后端因为跨域,用 token 也方便。既然如此方便,那就这么办,至于带来的问题,如续期、token 签发时间过长导致不安全等问题,那就不考虑了,其实大部分软件也都不在乎,只要能过等保就好。至于突然 token 到期,用户强制重新登录这种体验问题,那不是问题,因为我们做的系统就几乎没人用,用也不会用很久。实在不行 token 签发时间给个几天,或者先做出来再说,后面再考虑打补丁,从无状态改成有状态,后端记录一下 token,给它续期得了。

随便搞个 mitmproxy 就能抓 https 了

普通 JWT 不需要 Refresh Token 。OAuth 才需要。注意他们的区别:

  1. JWT 基本只用于对客户端的授权;特别的,经常用于浏览器并可以直接写入 Cookie 。而 OAuth 则经常用于对服务器的授权。
    客户端业务逻辑除了将 JWT 发送给真正的目标之外,几乎不会将 Token 或记录到别的地方。也就是说只要本机安全(由用户自行保证)、传输层安全( TLS ),Token 就丢不了。甚至对于浏览器来说,业务逻辑可能都看不到 JWT 的 Token 。
    服务器拿到 Token 之后就不一样了,可能传输到其他服务器或存储到中间件中、可能写入日志。单一的业务逻辑很难控制。这种情况下,使用单独的、业务层不可见的 Refresh Token 就能显著提高安全性。
  2. 对于客户端来说,只有用户在操作客户端时才可能发生刷新失败事件。这时候用户只要重新登录就好了;而服务器用 Token 刷新失败则可能是灾难性事件。比如当 OAuth 用于 CI 系统的拉代码逻辑,当 Token 过期且意外刷新失败时,整个 CI 都无法工作了,必须召唤管理员上线处理。这导致 OAuth 必须有一个强健的刷新逻辑。

结合业务场景设计,有的被截取也无所谓,像新闻接口基本都是 GET,展示数据的。只要保证业务安全,请求是幂等的就可以。返回的数据中有用户敏感数据就要加密

https

JWT 的能力是很有限的, 参考这个帖子里的讨论
https://stackoverflow.com/questions/21978658/invalidating-json-web-tokens
Truly stateless JWT authentication cannot be achieved for a typical, real world web app because stateless JWT does not have a way to provide immediate and secure support for the following important use cases:
User’s account is deleted/blocked/suspended.
User’s password is changed.
User’s roles or permissions are changed.
User is logged out by admin.
Any other application critical data in the JWT token is changed by the site admin.
You cannot wait for token expiration in these cases. The token invalidation must occur immediately. Also, you cannot trust the client not to keep and use a copy of the old token, whether with malicious intent or not.

无解 微博至今都没解决掉这个问题

HTTPS 不是抓不到包,而是流量被加密了,如果遇到上游证书欺骗和不安全的加密方法依然可以解出来。。

建议 JWT 不要滥用,JWT 有它适合的场景的,这种需要吊销 token 的根本不适合用 JWT,一旦需要吊销,就意味着服务端需要保存相关信息,那还不如直接用 cookie+session 或者自己造轮子了

https 是加密码的 你要解出来才有用

所以说呢?加密了还是能抓包啊,先把证书抓下来就可以了。回帖之前你去用过我说的东西了吗

“换成自己的轮子吧,用服务端存 Token 的虎符模式”
能说说哪些 Token 虎符模式 的轮子比较好么?
自己造轮子的话,我的理解是: backend 的所有 services 里面得有个专门的 authentication service, 这个 auth service 通过认证 user 的主 key (e.g. password) 给用户生成 token (with expiration time). 然后, user 试图连接任何 edge services 的时候 (edge services 是我临时取的名字, 算是所有在 server mesh 边界, 链接 client users 的那些 services), edge services 都会去认证 user message 附带的 token. edge service 可以每次都去 authentication service 认证 user token, 也可以 cache user tokens 到自己 service node 上, 当然如果允许 cache user tokens 的话, auth service 撤销(revoke) user tokens 的时候, auth service 必须通知有可能 cache 过相关 user tokens 的所有 edge service nodes.

在我的 github 里面可以看到我自造的轮子。

我最近也正好做了一个 jwt token 签 ip 的需求,实际应用下来,略为鸡肋

机智如我,开个新主题听听大家怎么看 jwt 做会话身份认证
https://www.v2ex.com/t/774127#reply23

公私钥,对端公钥加密。

别搞那么多花样 SSL 是最稳的 诞生的目的就是为了解决不可信网络的可信通信
如果不支持 SSL 那就自己网络层加上公私加密 毕竟是经过全球验证的可靠通信算法

JWT 固然只是其中一个用户请求识别机制,还得配合其他手段判断是否异地或者换设备

系统安全不应该由一个小小的令牌来承受……被盗 1 次和 n 次是没区别的。

其实你的顾虑和 jwt 没关系,Cookie 认证同样有被抓包的风险,只要明确这一点再来想解决方案。
其实方案之一前面有说了,可以验证 IP,反代也是可以拿到 IP 的,需要让后端把 IP 通过 HTTP 头等方式传给你。

https:你当我不存在?
jwt:这个锅我不背。
所以为什么会被抓包?

好的

现在很少固态 IP 吧

用 https 就不怕被抓包了,卖软件给客户的时候就告知这点,不用后果自付。

JWT 的使用范围很窄
当然楼主的问题用 ssl 就行

jwt 被盗不久相当于账号密码被盗么?根据一样的逻辑处理就好了

一、token 有一个刷新有效期的,这个有效期过了,是无法进行刷新的。
二、用户反馈账号被盗后,应该要禁止用户登录。
三、将当前有效期内的 token 全部列入黑名单。

我就搞不懂了,为啥老是看到用 jwt 来做业务系统的身份认证呢(是用到业务系统上了把?应该把)?

非常赞同 老哥,我也看了不少开源系统,介绍中的技术选型,老是有 jwt 。
我个人 认为 jwt 的应用场景 非常狭窄,并不适合用来做 “XXX 管理系统”、“XXX 电商系统”,之类的。 有个场景,我觉得还是比较合适的,用户邮箱注册完,会有一封激活邮件,这个激活邮件中的激活地址后面跟的一串字符串,大概率是 JWT 的字符串。而且有效期可能就 4 小时,甚至 2 小时。
为什么呢? 因为首先,就算邮件泄露,能造成什么损失? 激活链接点进去,还需要比如一些关键信息的校验的。 甚至进去的页面中,姓名(昵称)之类的,都是脱敏的。其次,有效期也很短。最后的最后,这类邮件就算疯狂的发,对主业务系统没有任何影响。
当然如果有其他的 JWT 的应用场景也可以讨论一下,反正我是非常不赞成在业务系统中走 JWT 的,只有在一些 非重点(不一定是非重点,反正有个度把)的业务功能中,才可能有 JWT 。 业务系统还是 老老实实的 session (分布式 session ) ,或者 类似于 session 的 token 模式。

自定义 token 的模式不好吗,想单点登录,多端登录或者强制刷新都是可控的

Jwt 的应用场景是很小的,现在大部分的所谓 Jwt 都是伪 Jwt,很多系统还是存在中心验证服务器的。

70 多条评论看完了,说句实在话,楼主的问题是 JWT token 被获取后引发的一系列安全问题,我们以问题为导向进行反推,获取 token 必定存在一系列利益影响,试问,如果你的软件没有引发别人的利益,为何要获取你的 token 呢? 难道只是闲的无聊? 那么问题又来了,有利益存在,获取你的 token 进行下一步操作,是为了满足某个利益达成。如果没有利益别人也要获取你的 token,那基本上是无解,说的清楚点就是没有绝对的安全可言,token 只是一个签名用来校验你的服务的,仅仅是对自己的服务来说有一定安全校验,也只是达到了自己骗自己的目的,我可以第一时间获取你的 token 并解密后通过 token 解析的信息进行一系列的操作,这些都是可以反推的。

面试官:请你先回答在浏览器输入 URL 地址后,都发生了什么吧。

个人认为 JWT + 中心验证服务器的模式没有问题。个人实践中,将部分会话状态数据存放于 JWT 中来减少服务端的状态数据存储需求;中心验证服务器仅负责对 token 的有效性进行验证。
与自定义 token 模式进行对比,使用 JWT 作为 token 在主要认证逻辑上没有太大区别;优势在于将数据存储移到客户端后,减少了服务端在还原会话状态时所需的 IO 次数。至于对系统性能是否有根本影响,就见仁见智了。

上面说滥用 jwt 的我觉得很奇怪
jwt 只是一种可验证的信息签发传输方案. 你要在里面存储什么信息, 服务端如何利用完全是开发者自己的选择.
就算所谓要替代 cookie+session, jwt 可以替代的是 cookie 部分而不是整个 cookie+session. 纯 cookie 也是可以做无状态无 session 的身份验证方案的.
lz 的问题里就是服务端无状态导致无法踢人. 那就得重新做有状态认证方案了. jwt 可以+session 或者 anythin else 可用的服务端状态.

同感。问题和 jwt 根本没有关系,抓包的场景下,cookie 中的 session 不也同样能被抓包么。而且奇怪的是,为何很多人觉得加上刷新机制后就能防止抓包呢,刷新过程不也会被抓包么。我认为关键还是在于解决抓包。

解决中间人抓包(比如路由器抓包):上 https,这样可以防止中间人抓包。
解决客户端抓包(比如爬虫):本质上是人机识别,用验证码、行为识别那套。
以上和 session 、jwt 刷新都是无关的。

动态 token 里面包含一些验证信息, 比如 session 类信息,ip bind 类信息, 指纹类信息, 时间类信息(动态更新), 把这些信息编码, 代码一定要做一些混淆或加密。ip 类目前国内的网络环境不可靠, 有的 ip 是集体 ip 有的是浏览器自己中转的流量。

这和 jwt 没关系,本质上是传输层不安全导致身份识别令牌泄漏,用不用 jwt,设置多久吊销,有没有黑名单,只要不解决传输层不安全的问题,无解。

你要想的是为啥会被抓包,https 就不需要考虑被抓包了;

无解

jwt 解决的是用户是否已认证的问题,你的问题是用户究竟是不是他本人,这是两个事

考虑场景:一般情况下,用户是长期登录的,而且认证信息不会被轻易被盗,但是仍然存在一部分用户有登出账户的需求(手机被丢等)。
相对于当前长期在线的用户而言,需要登出的用户只是很少的一部分。(这跟现在的证书颁发是很相似的,大多数人都会妥善存储私钥,但是仍然有一部分人的私钥马大哈丢失了)
这时候可以使用 jwt 作为用户令牌,使用 redis 等来存储被吊销的 jwt id 。
这样做主要是可以有效的减少热数据的数据库大小,降低对数据库系统的压力。而且,这个吊销列表也完全没有必要实时更新,隔一段时间向认证服务器更新一下数据即可。
如果你的应用用户量并不是很大,或者对登出的实时性要求很高(银行类),jwt 其实并不是一个适合你的方案,随机生成一个 token 可能更好。

非常正确,这道问题我没看懂和 JWT 有什么关系

合到 token 了 refresh_token 应该也能拿到吧,这样,就直接完蛋了吧

这类比虎符模式怎么理解?指挥官去皇帝领凭证,去军官验证,验证过了获得指挥军队的资源。我怎么看就是 jwt 呀。

服务器为啥一直续期。。一个 token 用一辈子?这样不好吧。。
1 、选择客户端续期
2 、选择添加一个 refresh_token 参考 Spring Security

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jwt 的 token 被获取怎么办 的相关文章

  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • diff和patch的使用简介

    diff的使用 我们先help看下diff的介绍 Usage diff OPTION FILES Compare FILES line by line Mandatory arguments to long options are mand
  • ContentProvider原理分析

    转载请注明出处 http blog csdn net a992036795 article details 51612425 一 ContentProvider的介绍 关于ContentProvider的介绍 以及使用可以参考我的上一篇博客
  • uni-app基本入门

    目录 1 uni app介绍 2 uni app特点 3 uni app使用方法 3 1安装uni app 可以使用npm安装uni app 也可以直接下载uni app的源代码 3 2创建uni app项目 可以使用HBuilderX等I
  • 【githubshare】开源技术C/C++ 程序设计

    GitHub 上一个开源的 Notion 替代品 AppFlowy IO 完成了个人笔记 知识库 任务管理的功能结合 除了具备 Notion 的基础核心功能外 该项目还支持自托管与离线模式 数据与安全性可控 开发者可任意定制项目模板 插件
  • uni-app多选select组件,兼容多平台小程序、H5

    目录 介绍 平台差异说明 使用方式 安装 引入 基本使用 默认选中项 回显 配置label value对应的key名称 获取点击确认后的结果 完整示例 API Props Option Attributes Slot Events 介绍 多
  • React Router 5.1.0使用useHistory做页面跳转导航

    从React Router v5 1 0开始 新增了useHistory钩子 hook 如果是使用React gt 16 8 0 编写以下函数组件 使用useHistory即可实现编程时页面跳转导航 示例 import useHistory
  • RMQ——支持合并和优先级的消息队列

    业务背景 在某个项目中需要实现一个功能 商品价格发生变化时将商品价格打印在商品主图上面 那么需要在价格发生变动的时候触发合成一张带价格的图片 每一次触发合图时计算价格都是获取当前最新的价格 上游价格变化的因素很多 变化很频繁 下游合图消耗G
  • E-R图转换成关系模式 两个例题 以及ea 画 E-R图过程

    1 画er图 新建项目 注 网上查不到具体建立过程方法 目测是对的 矩形 实体 椭圆 属性 菱形 方法 属性为主码设置 2 两道例题 1 现有论文和作者两个实体 论文实体的属性包括题目 期刊名称 年份 期刊号 作者实体的属性包括姓名 单位
  • 启动SpringBoot后target没有yaml配置文件导致的Bug

    Bug复现 nested exception is org springframework boot autoconfigure jdbc DataSourceProperties DataSourceBeanCreationExcepti
  • JAVA--Collections类

    Collections类概述 Collection接口的实现类 如ArrayList LinkedList本身并没有提供排序 倒置 查找等方法这些方法是由Collections类来实现的 该类有很多public static方法 可以直接对
  • mysql 查询同一个字段同时符合多个不同条件的数据

    使用GROUP BY 去重 使用 HAVING sum gt 2 判断查询出来的数据超过同一字段的查询条件数量 取到同时符合条件的数据 SELECT c FROM goods a INNER JOIN goods category rela
  • 蚂蚁森林快捷指令_iPhone 这样偷蚂蚁森林能量,简直就是开挂

    我发现身边有很大一群人 早上要定两个闹钟 一个是偷能量的 另一个是起床的 而常规的偷能量操作无非是 关闹钟 手动打开支付宝 手动进入蚂蚁森林 但这还是略麻烦 很多人在想 速度能不能再快点 不然我的能量要被偷光了 话说我种完一棵树就弃坑了答案
  • 为什么单线程的Redis能这么快?

    1 为什么是单线程 总结 Redis 的普通 KV 存储瓶颈不在 CPU 而往往可能受到内存和网络 I O 的制约 Redis 中有多种类型的数据操作 甚至包括一些事务处理 如果采用多线程 则会被多线程产生的切换问题而困扰 也可能因为加锁导
  • 算法题---合并两个有序数组(乐乐独记)

    1 题意描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2 另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目 请你合并 nums2 到 nums1 中 使合并后的数组同样按 非递减顺序 排列
  • 用AD组策略------控制客户端本地组

    从安全的角度来说是不建议大家把域用户加入到本地Power Users 写这篇文章的目的是告诉大家 可以通过组策略把域用户和域组自动加入到客户端的本地组 实现对客户端本地组的控制 如果善用此策略可以增加系统的安全性 本地Administrat
  • wkwebview 文件服务器,WKWebView 的缓存策略

    缓存策略有以下四种方式 默认的NSURLRequest 缓存策略 后台需要做响应头设置 否则无法进行缓存 存在cache目录 n磁盘紧张会被清除 NSURLCache 和上面类似 可以不需要后台设置也能存储 存在cache目录 n磁盘紧张会
  • Ubuntu建立nfs和tftp环境

    nfs apt安装 sudo apt get install nfs kernel server 编辑配置文件 sudo vi etc exports 在文件末尾加入红框所示内容 其中蓝框内写入nfs工作目录 要传输的文件放在这个目录下 开
  • MATLAB入门教程

    1 MATLAB的基本知识 1 1 基本运算与函数 在MATLAB下进行基本数学运算 只需将运算式直接打入提示号 gt gt 之後 并按入Enter键即可 例如 gt gt 5 2 1 3 0 8 10 25 ans 4 2000 MATL
  • 算法学习——递归

    引言 从这个专栏开始 我们将会一起来学习算法知识 首先我们要一起来学习的算法便是递归 为什么呢 因为这个算法是我很难理解的算法 我希望通过写这些算法博客 来加深自己对于递归算法的理解和运用 当然 学习算法最快的方式便是通过刷题 但是今天这篇
  • jwt 的 token 被获取怎么办

    jwt 签发后 每次请求会续期 如果 token 被抓包后 别人得到后 有没有好的方案解决身份窃取问抗投诉服务器题 签发 token 的时候加入一些验证信息 比如 IP 如果当前 request IP 和签发时候的 IP 不一致就加 bla