Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dateien hinter PHP Passwortschutz schützen

Mitglied: theoberlin

theoberlin (Level 2) - Jetzt verbinden

09.10.2019 um 15:48 Uhr, 953 Aufrufe, 8 Kommentare

Hallo zusammen,

folgende Ausgangssituation:

Ein Link führt zu einem Verzeichnis mit einer Index.php. Dort wird festgestellt, dass eine Session Variable nicht gesetzt ist und man wird zu einem Login geführt. Nach erfolgreichem Login geht es wieder zurück und man bekommt alle Dateien aufgelistet, welche in diesem Verzeichnis liegen.

Nun zum Problem:
Kennt man den Dateinamen, kommt man durch „https://Blabla.blabla/download/blabla/test.txt&ldquo"

direkt zur Datei ohne das Passwort eingeben zu müssen.

Hat jemand hier einen Lösungsvorschlag außer über ein separates backend zu gehen?

LG
Theo
Mitglied: erikro
09.10.2019 um 15:54 Uhr
Moin,

das Zauberwort heißt htaccess. Guckst Du hier:
https://wiki.selfhtml.org/wiki/Webserver/htaccess

hth

Erik
Bitte warten ..
Mitglied: theoberlin
09.10.2019, aktualisiert um 16:12 Uhr
Moin Erik,
habe ich mir schon fast gedacht, bin aber auf keinen grünen Zweig gekommen.

Zugriff Deny für !Localhost geht ja nicht da in der .php auf den Link geklickt wird und Optionen die den direkten Download verhindern sind mir da nicht bekannt. Verzeichnislisting an sich ist natürlich auch abgeschaltet. Kannst du mir ein Stichwort geben?

Edit: Sehe gerade noch woanders:

https://www.askapache.com/htaccess/

Hotlinking/Refferer. Sehe ich mir mal an.

LG
Theo
Bitte warten ..
Mitglied: erikro
09.10.2019 um 16:13 Uhr
Moin,

Zitat von theoberlin:
Zugriff Deny für !Localhost geht ja nicht da in der .php auf den Link geklickt wird und Optionen die den direkten Download verhindern sind mir da nicht bekannt. Verzeichnislisting an sich ist natürlich auch abgeschaltet. Kannst du mir ein Stichwort geben?

Ich würde die Dateien in ein Unterverzeichnis packen, dann auf der Startseite das Login, der den Zugriff auf das Unterverzeichnis freigibt. Nach dem Login auf die Seite mit dem Listing weiterleiten und gut ist.

hth

Erik
Bitte warten ..
Mitglied: theoberlin
09.10.2019 um 16:23 Uhr
Hi,

aber das behebt ja das Porblem nicht, dass wenn man das Unterverzeichnis mit Datei kennt, ohne Login draufkommt oder habe ich da einen Denkfehler?

lg
Theo
Bitte warten ..
Mitglied: erikro
09.10.2019 um 16:27 Uhr
Nein, wenn in dem Unterverzeichnis ein entsprechendes .htaccess liegt, dann bekommst du ohne Authentifizierung einen Error 401. Sonst wäre das ja sinnbefreit.
Bitte warten ..
Mitglied: 141320
LÖSUNG 09.10.2019, aktualisiert um 16:35 Uhr
Ich würde den Download nicht über einen direkt erreichbaren Link im Webspace realisieren sondern es folgendermaßen machen.
  • Download-Verzeichnis mit einer generellen .htaccess schützen so das ein direkter Zugriff nicht möglich ist / Alternativ das Download-Verzeichnis außerhalb des Webroots platzieren
  • Dann bei Check der Sessionvariablen dem User den Download per php readfile()-Funktion und passendem Header aus dem Dateisystem des Webservers auslesen und an den Browser ausliefern, so ist kein direkter Link mehr möglich und nötig.

Alternativ kannst du natürlich per htaccess und rewrite jegliche Anfrage an ein Download-Verzeichnis an ein Skript umleiten und dann die Session-Variable checken und die Datei ebenfalls pre readfile() an den Browser ausliefern.

Diese Methoden findest du in diversen fertigen Download-Skripts im Web.
Bitte warten ..
Mitglied: erikro
09.10.2019 um 16:39 Uhr
Moin,

Zitat von 141320:

Ich würde den Download nicht über einen direkt erreichbaren Link im Webspace realisieren sondern es folgendermaßen machen.
  • Download-Verzeichnis mit einer generellen .htaccess schützen so das ein direkter Zugriff nicht möglich ist / Alternativ das Download-Verzeichnis außerhalb des Webroots platzieren
  • Dann bei Check der Sessionvariablen dem User den Download per php readfile()-Funktion und passendem Header aus dem Dateisystem des Webservers auslesen und an den Browser ausliefern, so ist kein direkter Link mehr möglich und nötig.

Alternativ kannst du natürlich per htaccess und rewrite jegliche Anfrage an ein Download-Verzeichnis an ein Skript umleiten und dann die Session-Variable checken und die Datei ebenfalls pre readfile() an den Browser ausliefern.

Diese Methoden findest du in diversen fertigen Download-Skripts im Web.

Sag ich doch.

Guck mal hier: https://wiki.selfhtml.org/wiki/PHP/Tutorials/Loginsystem

hth

Erik
Bitte warten ..
Mitglied: LordGurke
LÖSUNG 10.10.2019 um 01:45 Uhr
Im großen und ganzen hast du folgende Möglichkeiten:

a) Du verlagerst die zu herunterladenden Dateien in ein eigenes Verzeichnis und unterbindest per .htaccess alle Zugriffe darauf.
Einfach eine Zeile: "Deny from all".
Bonus: Du verschiebst das Verzeichnis irgendwohin außerhalb deines Document-Root, dann kann kommen wer will - es gibt ja keinen direkten Zugriff darauf.
Alle Anfragen auf die Dateien müssen dann aber durch ein PHP-Script durchgeführt werden, was dann entsprechend die korrekten Content-Type:-Header setzen und die Dateien dann mittels readfile() ausliefern muss.
Problematisch ist das aufgrund der max_execution_time, welche bei sehr, sehr langsamen Downloads dann irgendwann abbricht und der Download ebenfalls endet. Hier kannst du eventuell selektiv für dieses Script die max_execution_time abschalten, wenn das zugelassen wird.
Im Falle von PHP-FPM bzw. FCGI springt möglicherweise noch der Webserver aus dem Gebüsch und bricht das Script nach einem Timeout (meist 300 Sekunden) ab.

Dies ist so mit die simpelste und zugleich sicherste Lösung - aber halt mit dem Nachteil der max_execution_time. Wenn du diese abschalten kannst, wäre das die präferierte Lösung.


b) Du setzt mit dem PHP-Script einen Cookie, welcher nur für die aktuelle Session gültig ist und prüfst dann dessen Existenz mittels .htaccess. Eine wirklich Auswertung/Prüfung gegen eine PHP-Session kannst du damit aber nicht machen - lediglich den Cookie und dessen Inhalt statisch vergleichen.
Das lässt sich daher auch clientseitig ausnutzen, indem ein solcher Cookie natürlich auch ohne Login gesetzt werden kann.
Dafür kannst du den Download ohne PHP-Script umsetzen, durch das die Daten durchfließen müssen und du hast keine Gefahr abbrechender Downloads.

Vorteil: Der Download kann so lange dauern wie er eben dauert, ohne die Gefahr abbrechender Downloads - dafür ist der Schutz für geübtes Personal dann aber auch relativ leicht zu umgehen.
Bitte warten ..
Ähnliche Inhalte
Sicherheits-Tools

USB Dongle zum Schutz von PHP mysql Anwendung

gelöst Frage von rudi52001Sicherheits-Tools2 Kommentare

Hallo zusammen, ich habe Offshore für Kunden eine PHP (Lavarel)/mysql Anwendung programmieren lassen die ich an zwei Kunden ausliefere ...

HTML

Intranet Schutz

gelöst Frage von finnhannemannHTML8 Kommentare

Hallo liebe Community, ich habe für mein Unternehmen ein Passwort System installiert. Es läuft auf einem Webserver und ist ...

Windows 7

Schutz vor Ramsoftware

gelöst Frage von stefan00166Windows 79 Kommentare

Liebe User, Ich habe bei mir daheim einen Windows 7 Pc der alt Netzwerkserver missbraucht wird. Darauf sind 2 ...

Exchange Server

Exchange SPAM-Schutz

Frage von padimonuExchange Server11 Kommentare

Hallo Zusammen, wir sind auf der Suche nach einem neuen SPAM Schutz für den MS Exchange. Hier die Eckdaten: ...

Neue Wissensbeiträge
Erkennung und -Abwehr
Ebay "portscannt" Kunden
Information von Lochkartenstanzer vor 21 StundenErkennung und -Abwehr2 Kommentare

Moin, Nach neuesten Erkenntnissen führt ebay.com einen Portscan auf den Computer durch, von dem man aus die Seite besucht: ...

Windows Server
Windows DNS Server Denial of Service Vulnerability
Information von Dani vor 2 TagenWindows Server

Moin, Microsoft is aware of a vulnerability involving packet amplification that affects Windows DNS servers. An attacker who successfully ...

Batch & Shell

Automatisches Mailing im Batch mit mit sTunnel und Blat.exe

Anleitung von JHB-Kaltduscher vor 2 TagenBatch & Shell4 Kommentare

Ich habe die Lösung für die Frage: Ich kann GoogleMail SMTP nicht einrichten? Folgende Teile nötig: sTunnel + blat.exe ...

Entwicklung
NVIDIA KI programmiert PacMan neu
Information von lcer00 vor 4 TagenEntwicklung

Hallo, Das dürfte ein wichtiger Meilenstein in der Evolution von KI sein. Die Matrix und Skynet lassen schon mal ...

Heiß diskutierte Inhalte
Hardware
Gaming-Laptop
Frage von MrLabelHardware42 Kommentare

Hallo, ich würde mir gerne meinen ersten Gaming Laptop kaufen. Meine Frage ist, komme ich mit maximal 1000,- hin ...

LAN, WAN, Wireless
WLAN-Reichweite verstärken
Frage von f3nrIsLAN, WAN, Wireless20 Kommentare

Hallo, ich habe von einem Bekannten den Auftrag bekommen, mich ein bisschen schlau zu machen, wie man auf seinem ...

Datenbanken
Oracle Standard Lizenzierung - Trennung von der VMWare Farm
Frage von inspiratioDatenbanken18 Kommentare

Hallo zusammen, die Thematik ist einwenig komplex. Wir haben einen Server worauf eine Oracle Datenbank läuft. Dieser Server ist ...

Microsoft
Automatischer Neustart trotz aktiver GPO mit Option "Keinen automatischen Neustart."
Frage von diekotteMicrosoft14 Kommentare

Guten Morgen, ich bin relativ neu hier im Unternehmen und die User klagen, dass Sie morgens kurz nach dem ...