Estoy usando un plan de alojamiento web GoDaddy en una plataforma Windows. Esta no fue mi elección, tiene que ver con una parte diferente del sitio real que usa ASP.NET (tampoco es mi elección).Restringir el acceso a los archivos - solo leer a través de PHP
Tengo una base de datos SQL con un montón de entradas con información no confidencial del cliente. La clave principal en esto es un entero de AutoIncrement, y tengo una serie de archivos PDF que coinciden con cada uno de esos enteros (por ejemplo, 555.pdf, 7891.pdf, etc.).
Mi objetivo es restringir el acceso directo a estos archivos, quiero que los usuarios tengan que pasar primero por un proceso de búsqueda e inicio de sesión (PHP). Originalmente, planeé colocar los archivos sobre la carpeta PUBLIC_HTML, pero GoDaddy se niega a darme acceso a la raíz sin un servidor dedicado ($ 20 por mes a partir de ellos).
Lo siguiente que revisé fue HTACCESS. Iba a restringir el acceso a los archivos solo a los scripts PHP al permitir el acceso a la dirección IP del servidor (o localhost/127.0.0.1). Lamentablemente, esto no funciona porque GoDaddy no ejecuta Apache en sus servidores de Windows.
Podría poner los archivos en BLOB en la base de datos, pero eso se pone realmente complicado cuando necesito trabajar con ellos rápidamente (además he tenido algunos problemas con ese enfoque).
¿Alguna sugerencia para restringir el acceso a los archivos solo a un script PHP (readfile())?
Eso dependerá del servidor web que estén usando (IIS, supongo). Tal vez deberías etiquetar esto con IIS. – Artefacto