Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

servicecomb 2.8.14版本接口入参校验失败后抛出的异常信息存在内部代码结构和行号等信息

Ouverte
#4,260 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java
Domaine
api, backend, security

Piste de recherche

Commencez par retracer la gestion des erreurs de désérialisation du corps de la requête qui produit la réponse signalée avec Parameter, Processor et Message. Reproduisez le payload de CommonReq avec un type non entier, puis vérifiez que la réponse n’expose plus la structure interne du code, les emplacements des sources ni les détails d’implémentation, tout en indiquant que l’entrée n’est pas valide.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

背景

当 接口调用传递的body跟接口定位的入参不一致时,接口返回的message信息存在内部代码结构和行号等信息

复现demo

接口入参定义如下:


public class CommonReq {
    private String name;
    private Integer type;
}

http请求传递的body如下:

{
    "name": "jedrek",
    "type": "hard"
}

报错信息如下:

{
"message": "Parameter is not valid for operation [xxx]. Parameter is [commonReq]. Processor is [body]. Message is [Cannot deserialize value of type java.lang.Integer from String "hard": not a valid java.lang.Integer value\n at [Source: (org.apache.servicecomb.foundation.vertx.stream.BufferInputStream); line: 3, column: 13] (through reference chain: CommonReq["type"])]."
}

这个打印信息感觉存在安全问题,暴露了接口的内部实现,可否针对于这种场景,对打印的异常message进行调整

Langage dominant
Java
Étoiles
1.9k
Forks
813
Merge moyen
8 j 23 h
PR mergées (30 j)
1

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/servicecomb-java-chassis

Toutes les issues de apache/servicecomb-java-chassis

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.