CWE ID: 486
Name: Comparison of Classes by Name
“Das Produkt vergleicht Klassen anhand ihres Namens, was dazu führen kann, dass die falsche Klasse verwendet wird, wenn mehrere Klassen den gleichen Namen haben.”
“Wenn die Entscheidung, Methoden und Daten eines Objekts zu vertrauen, auf dem Namen einer Klasse basiert, besteht die Möglichkeit, dass bösartige Benutzer Objekte mit dem Namen vertrauenswürdiger Klassen senden und dadurch das Vertrauen erlangen, das bekannten Klassen und Types gewährt wird.”
Effektivität: Unknown
Beschreibung: “Anstatt den Klassennamen zur Bestimmung des Typs eines Objekts zu verwenden, sollte die getClass()
Methode in Verbindung mit dem ==
Operator zur Typbestimmung eingesetzt werden. Dies vermeidet die Verwendung von Class Equivalency zur Typbestimmung.”