2017-06-04 8 views
0

Ich möchte eine Benutzerregistrierungsendpunkt mit Django Rest Framework implementieren. Der Endpunkt wäre öffentlich und jeder könnte möglicherweise einen neuen Benutzer registrieren, um auf die eingeschränkte Version der Site zugreifen zu können. Der Registrierungsendpunkt würde eine POST-Aktion und ein JSON-Objekt annehmen, das beispielsweise den Vornamen, den Nachnamen, die E-Mail-Adresse und das Passwort enthält. Das Problem liegt daran, dass der Endpunkt so öffentlich ist, dass jemand ein pyCurl-Skript programmieren kann, um eine Menge neuer Benutzer zu erstellen. Das möchte ich vermeiden. Wie kann ich meinen Endpunkt ordnungsgemäß sichern, um dies zu vermeiden? Ich habe im Moment keine Ahnung, welche Vorgehensweise zu ergreifen ist. Ich könnte eine Registrierungsseite mit CSRF und einer Django-Vorlage erstellen. Das könnte eine Lösung sein und der Rest der Anwendung könnte unter angular2 laufen. Im Idealfall möchte ich das vermeiden.Sicherheit Benutzerregistrierung Django Rest Endpunkt

irgendwelche Ideen? Danke

Antwort

0

Eine Lösung wäre, die E-Mail der neu registrierten Benutzer zu validieren. Die erstellten Benutzer werden inaktiv, bis sie ihre E-Mail-Adresse validiert haben. Die Validierung kann durch Senden eines Links mit einem Token und einer UID (siehe PasswordResetTokenGenerator von django) an ihre E-Mail-Adresse erfolgen. Wenn Sie diesem Link folgen, kann der Benutzer sein Konto aktivieren und sich auf Ihrer Website anmelden.

Wie für CSRF, sollten Sie immer verwenden, wenn Sie Daten an Ihren Server senden (Post, Put, Patch, etc.)

Verwandte Themen