Como estan, saludos a todos, tiempo sin colocar un tema por aca, pero necesito su ayuda nuevamente.
Primero que nada, creanme que he buscado, he intentado con docenas de formas posibles que he conseguido en la web pero no logro dar con la solucion :S.
El problema: En una pagina web que estoy haciendo voy a tener varios pdf que ire subiendo, pero quiero que los usuarios solo puedan ver los pdf, no descargarlos, estoy usando Druapl 7 con el modulo de Pdf Reader y Libraries, y le digo al drupal que abra los archivos con Google Viewer, ya que Google Viewer no muestra el verdadero pdf como tal, pero igual te da la opcion en la pagina para descargar el original, el que esta en mi servidor.
Otras Posibles soluciones: Del lado del servidor no peudo hacer absolutamente nada, ya que como la cuenta de hosting es compartida (no lo sabia antes de comprarlo) estan deshabilitadas alguans funciones php como exec(), asi que no puedo utilizar programas como SWF Tools o imagemagick para transforamr el pdf en el server y mostrarlo, mi unica alternativa como dije arriba, Google Viewer.
Solucion escogida: Utilizar Google Viewer ya que este no muestra el pdf original si no una copia y en el drupal no sale el boton de descarga ni puede ver el link del pdf (no facilmente), pero igual si el usuario lo ve directo desde la pagina de google viewer (
https://docs.google.com/viewer) le sale el boton para descargar el original. La solucion que consegui es que por medio de htaccess bloquear todas las peticiones de cualqueir sitio, excepto desde docs.google.com.
Al principio trate de hacerlo con:
Código Apache:
Ver original<FilesMatch "\.(pdf)$">
Order Allow,Deny
Allow from docs.google.com
</FilesMatch>
Pero no funciona, tratar con ip tampoco xq son varias ips, y si fueran un rango de ips seguidas, /.201 /.202 /.203, se podria, pero son ips de rangos variados, asi que tampoco se puede.
Ahora probe con el generador de archivo htaccess (
http://www.htaccesstools.com/hotlink-protection/) y el codigo que me da:
Código Apache:
Ver originalRewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?docs.google.com [NC]
RewriteRule \.(pdf)$ - [NC,F,L]
Tampoco funciona. Probe con varias opciones que salen en esta pagina
http://perishablepress.com/creating-...king-strategy/ y que va ninguna me sirvio, siempre o bloquea el acceso desde cualquier sitio incluyendo google docs, o permite desde cualquier sitio.
Vi un post en el foro,
http://www.forosdelweb.com/f18/visua...cacion-972428/ y tampoco me sirvio
Código Apache:
Ver originalSetEnvIfNoCase Referer "^https://docs.google.com/viewer" local_ref=1
SetEnvIfNoCase Referer "^https://docs.google.com/viewer?url=" local_ref=1
SetEnvIfNoCase Referer "^https://docs.google.com" local_ref=1
<FilesMatch "\.(pdf)$">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
Creanme que he tratado de muchassss formas y no he podido dar con la solucion :s, en el servidor empece a hacer carpetas para ir probando cada htaccess que iba modificando, y saben por que numero voy, 34, he hecho como 40 intentos y todos fallidos :( ........ pero se que se puede, no se algo me dice q si jaja. Si alguien puede ayudarme con este problema le agradeceria muchisimo, suerte a todos ;).