2016-11-28 1 views
0

Ich entwickle eine Web-App, die viele Dateien für Nachrichten, Fotogalerien, Benutzer, Produkte ... auch PDF-Dokumente mit Datenbankdatensätzen verbunden haben wird.ASP MVC Web App Dateien und Ordner Namen

Ich werde die Bilder & Dokumente in Ordnern auf dem Server speichern, und ich frage mich, ob es eine gute Praxis ist, oder es ist nicht notwendig, diese Dateien & Ordner zu verschlüsseln.

Also zum Beispiel für eine Fotogalerie, sagen wir GalleryId = 233, ich werde den Ordner "~/Files/Galleries/233/" erstellen und alle Fotos darin speichern. Auch für ein bestimmtes Dokument, lassen Sie sich "DocId = 22" sagen, ich "~/Files/Docs/22.pdf" die Wurzel brauchen würde ...

Wäre es notwendig sein, diese Zahlen zu verschlüsseln, so dass die Benutzer und so etwas wie "aR2wdwewei" nicht die reale Ids sehen .. .?

Was ist die Zeit? Besser verschlüsseln? Vor-und Nachteile?

Vielen Dank im Voraus.

Antwort

0

Ich nehme an, es gibt keinen Unterschied zwischen int ID oder hash Id außer einem.

Wenn jemand alle Ihre Server-Dateien mit int Namensdateien herunterladen möchte, wird es viel einfacher für ihn, alle Daten zu erhalten.

Wenn Sie also vor dieser Art von "Bruteforce-Download" schützen möchten - verwenden Sie GUID.

Es ist noch besser, Controller-Methode zu erstellen, die Sie jede beliebige Datei zurückgibt. Auf diese Weise haben Sie einen Ort, an dem Sie Zugriffsprotokolle schreiben und den Zugriff bei Bedarf einschränken können.

+0

Nun, meine Entitäten haben Int, nicht Guid, aber was ich tue ist die Id mit einem Algorithmus zu einem Basis 64-Namen zu verschlüsseln. ALSO, könnten Sie mir die Controller-Methode erklären? –

+0

@JohnMathison erstellen Sie einfach 1 Methode mit Ihnen Ihren Hash übergeben und es wird die Datei an Sie zurückgeben. –

+0

könnten Sie bitte einen Link oder etwas mit einem Beispiel setzen ... (Entschuldigung). Vielen Dank. –