【发布时间】:2018-10-27 11:51:47
【问题描述】:
我正在为我们的 Web 应用程序创建一个令牌系统。你们怎么看,如果这 isWebTokenAvailable() 方法安全吗?
/**
* Checked if webToken is available {@link de.security.WebToken}.
*
* @param webToken to check if webToken is available.
* @return true if webToken is available and if there is no available token then returns false.
*/
public boolean isWebTokenAvailable(@NonNull String webToken) {
return !em.createNamedQuery("validateToken").setParameter("token", webToken)
.getResultList().isEmpty();
}
【问题讨论】:
-
你说的是哪种安全?
-
@ShanuGupta 例如,如果我给另一个令牌字符串怎么办。这可能是错误的,但我的列表不是空的,这就是为什么我可以返回 true。
-
validateToken查询是什么样的。 -
你这里说的什么安全,和查询中的sql注入或者基于你的token的认证有关?
-
@Kayaman
@NamedQuery(name = "validateToken", query = "select t from WebToken t where t.token = :token and t.expireDate > current_timestamp() ")
标签: java security jwt simple-web-token