Ich habe gehört, dass das Offenlegen von Datenbank-IDs (z. B. in URLs) ein Sicherheitsrisiko darstellt, aber ich habe Probleme zu verstehen, warum.
Irgendwelche Meinungen oder Links darüber, warum es ein Risiko ist oder warum es nicht ist?
BEARBEITEN: Natürlich ist der Zugriff begrenzt. Wenn Sie beispielsweise keine Ressource sehen können foo?id=123
, wird eine Fehlerseite angezeigt . Andernfalls sollte die URL selbst geheim sein.
BEARBEITEN: Wenn die URL geheim ist, enthält sie wahrscheinlich ein generiertes Token mit einer begrenzten Lebensdauer, z. B. 1 Stunde gültig und kann nur einmal verwendet werden.
BEARBEITEN (Monate später): Meine derzeit bevorzugte Vorgehensweise besteht darin, UUIDS für IDs zu verwenden und diese verfügbar zu machen. Wenn ich fortlaufende Nummern (normalerweise für die Leistung einiger DBs) als IDs verwende, möchte ich für jeden Eintrag ein UUID-Token als alternativen Schlüssel generieren und diesen verfügbar machen.