2009-03-11 15 views
0

Was wird als Best Practice angesehen, um eine URL zu generieren, die öffentlich zugänglich ist, aber über einen Nebenkanal geteilt wird, sodass sie in der Praxis für die Gruppe privat ist, die sie gemeinsam nutzt?Was ist die beste Vorgehensweise für "private" öffentliche URLs?

Etwas wie:

http://example.com/club/XX-XX-XX-XX
http://example.com/club/YY-YY-YY-YY

Wo XX-XX-XX-XX unter einer Gruppe geteilt, und YY-YY-YY-YY wird durch eine andere Gruppe geteilt. Wenn Sie einen gültigen Code haben, sollte es nicht einfach sein, andere gültige Codes zu erraten.

Für die URL ist keine weitere Sicherheit erforderlich.

+0

Eine Zufallszahl scheint ein guter Kandidat zu sein, aber wie groß sollte es sein? –

Antwort

3

GUID s sind immer eine gute Wahl für eindeutige IDs und sind sehr einfach zu erzeugen (aber hässlich aussehen)

+0

Eine GUID enthält 128 Informationsbits. Wenn wir davon ausgehen, dass ein Webserver 10K Anfragen/Sekunde verarbeiten kann, würde ein Guesser mehr als 1x10^27 Jahre benötigen, um jede Möglichkeit der Reihe nach auszuprobieren. Das scheint übertrieben, also klingt etwas kürzer als eine GUID für mich besser. –

0

Betrachten Amazon S3 verwenden, sie zeitlich begrenzt ausgesetzt URLs haben.

0

Ich würde empfehlen, eine UUID zu generieren. Sie können Javas java.util.UUID und URLEncode/Decode verwenden, wenn Ihr Backend in Java ist. Ich bin mir sicher, dass es in .NET eine Entsprechung gibt, wenn Sie ASP.NET verwenden.

0

Um einen Pfadteil der URL zu generieren, verwenden Sie eine Art von Hash (SHA1 wird ausreichen). Natürlich randomisiert. chmod das Verzeichnis, in dem sich die Dateien befinden 711 (rwx--x--x)

0

Eine zufällige Folge von alphanumerischen Zeichen würde den Job erledigen. Zeichen, die unter 26 Kleinbuchstaben, 26 Großbuchstaben und 10 Zahlen, die ein Dutzend Mal wiederholt werden, ausgewählt werden, sollten weitgehend genug für Ihre Bedürfnisse sein.

0

Sie befinden sich in einem Kompromiss zwischen Komplexität und Lesbarkeit (oder sogar Einprägsamkeit). GUID bietet einen "einzigartigen" Code, der, wie bereits erwähnt, einfach zu generieren ist, aber die Lesbarkeit und Erinnerbarkeit gering sind. Zufallszeichenfolgen, die beliebig aufgeteilt sind, können ebenfalls eine Lösung bieten. Schließlich wären die zufällig ausgewählten englischen Wörter leichter zu merken und zu kommunizieren und würden wahrscheinlich immer noch das gleiche Maß an Isolation und Schutz bieten.

Schließlich, wenn Ihre Benutzer eine besonders sorgfältige und deaktivieren Sie die Adresse Geschichte und Browser-Verlauf, dann wird die URL für alle zu sehen, wer später den Rechner besuchen.

Verwandte Themen