Ich verwende einen GoDaddy Web-Hosting-Plan auf einer Windows-Plattform. Dies war nicht meine Wahl - es hat mit einem anderen Teil der tatsächlichen Website mit ASP.NET zu tun (auch nicht meine Wahl).Beschränken Sie den Dateizugriff - lesen Sie nur PHP
Ich habe eine SQL-Datenbank mit einer Reihe von Einträgen mit einigen nicht-sensiblen Kundeninformationen. Der Primärschlüssel hierfür ist eine AutoIncrement-Ganzzahl, und ich habe eine Reihe von PDF-Dateien, die mit jeder dieser Ganzzahlen übereinstimmen (z. B. 555.pdf, 7891.pdf, usw.).
Mein Ziel ist es, den direkten Zugriff auf diese Dateien zu beschränken. Ich möchte, dass Benutzer zuerst einen Such- und Login-Prozess (PHP) durchlaufen müssen. Ursprünglich plante ich, die Dateien über den PUBLIC_HTML-Ordner zu stellen, aber GoDaddy verweigert mir den Root-Zugriff ohne dedizierten Server ($ 20 pro Monat von ihnen).
Das nächste, was ich untersucht habe, war HTACCESS. Ich wollte den Zugriff auf die Dateien auf PHP-Skripte beschränken, indem ich nur den Zugriff auf die IP-Adresse des Servers (oder localhost/127.0.0.1) erlaubte. Leider funktioniert das nicht, da GoDaddy Apache nicht auf seinen Windows-Servern ausführt.
Ich könnte die Dateien in BLOBs in der Datenbank, aber das wird wirklich chaotisch, wenn ich schnell mit ihnen arbeiten muss (plus ich hatte einige Probleme mit diesem Ansatz).
Irgendwelche Vorschläge, um den Zugriff auf die Dateien nur auf ein PHP-Skript zu beschränken (readfile())?
Das hängt von dem Webserver ab, den sie verwenden (IIS, angenommen). Vielleicht sollten Sie dies mit IIS kennzeichnen. – Artefacto