Foros del Web » Programando para Internet » PHP »

Instalar sistema visor de pdf en php sin plugin

Estas en el tema de Instalar sistema visor de pdf en php sin plugin en el foro de PHP en Foros del Web. Buenas noches, esta es mi primer publicacion en este foro asi que espero que sepan disculpar si falta algo en la explicacion. mi problema es ...
  #1 (permalink)  
Antiguo 06/05/2012, 20:04
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Exclamación Instalar sistema visor de pdf en php sin plugin

Buenas noches, esta es mi primer publicacion en este foro asi que espero que sepan disculpar si falta algo en la explicacion.

mi problema es el siguiente:
estoy desarrollando un sistema donde los usuarios logueados tendran acceso a un area desde la cual veran documentos pdf que yo he subido previamente.
por cuestion de sencillez desidi subir mis archivos a una carpeta en lugar de a una base de datos y luego proteger la carpeta para que no puedan descargar dichos archivos sabiendo su link directo.
hasta aca todo va bien.
el tema que surge es que quiero que los usuarios puedan ver los pdf sin recurrir al pug-in de adobe ni al nativo de google chrome puesto que estos permiten imprimir y descargar dicho archivo y QUIERO EVITAR QUE LO DESCARGUEN A TODA COSTA (y tampoco puedo depender de lo que tenga o no instalado el visitante) si pudiesen descargar el pdf mi sistema seria inservible para el fin que tiene.
navegando por la web encontre esto:

http://view.samurajdata.se/

un proyecto open source que hace exatamente lo que yo quiero lograr.

abre los pdf los convierte en imagenes y muestra dicha imagen de manera que el usuario no usa ningun plug-in ni tiene acceso en ningun momento al archivo pdf.

desde esa web se puede descargar el proyecto completo con sus archivos fuente.
mi drama surge en la instalacion de este sistema. no puedo lograr hacerlo andar.

en mi pc de forma individual (ni siquiera intente integrarlo a mi proyecto aun)
en windows uso wampserver 2.0 apache 2.2.11 php 5.3.1 mysql 5.1.36
en linux tengo las verciones mas recientes.

intente hacer andar este sistema en ambas plataformas y no tube exito con ninguna, aparentemente hace falta una libreria que no esta disponible para windows por tal motivo desisti de intentar correr el sistema en esta plataforma pero tampoco puedo hacerlo en linux donde se supone que deberia andar.

la extencion la descargue desde el sitio oficial de php.

espero no haber aburrido con la explicacion

si alguno puede descargar el sistema, instalarlo y hacerlo andar agradeceria mucho que me explicaran lo que hisieron empesando por como instalaron la extencion hasta el final del proseso.

gracias por adelantado.

PD: necesito este sistema u otro similar (preferentemente que pueda correr con el wampserver de windows) y NO me sirven sistemas online como google docs u otros mas que hay dando vueltas, no puedo depender de web externas a la mia porque en este punto el sistema debe ser cerrado y si llamo a otra web a que resuelva estoy dependiendo de esa pagina y al mismo tiempo estoy enviando los pdf a bases de datos desconosidas y eso no me agrada para nada.
  #2 (permalink)  
Antiguo 06/05/2012, 21:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Instalar sistema visor de pdf en php sin plugin

Desconozco el sistema que mencionas, pero con ImageMagick puedes lograr lo que necesitas: http://www.rafaelvega.info/convertir...s-jpg-con-php/

Aunque, el usuario aún podrá guardar e imprimir esas imágenes.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/05/2012, 21:19
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Instalar sistema visor de pdf en php sin plugin

pfff, si no quieres que alguien se descargue tus pdf no deberías ponerlos en linea, no hay forma de protegerlos, siempre hay forma de descargar, imprimir o reproducir el contenido de una página web...

Si aun así deseas romperte la cabeza tratando de "proteger" puedes leer el pdf y convertirlo a HTML o en su defecto tal como has dicho en una imagen usando gd y alguna clase para leer el pdf, el punto es que el que lo quiera descargar o imprimir el contenido de tu pdf podrá hacerlo de una u otra forma...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 07/05/2012, 08:58
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Instalar sistema visor de pdf en php sin plugin

Nemutagk:
gracias por tu respuesta, lo que quiero impedir es que descargen el archivo .PDF y que tengan contacto con el. es obvio que una vez que tienen el contenido en pantalla de una u otra forma podran copiarselo (si asi lo quieren) eso es inevitable. solo quiero que si quieren copiarse el archivo tengan o bien que tipearlo a mano o hacer muchisimas screenshot.
mi objetivo no es que no puedan tener el contenido cosa que como bien dijiste es imposible de evitar sino que les de tanto trabajo que prefieran resignarse a no copiarselo.
Triby:
gracias por la informacion ahora mismo voy a probar de hacer eso que figura en la pagina y comento si me sirve, a la imagen la voy a proteger tambien para que no pueda descargarla ni imprimirla de manera que la unica forma de obtenerla sea haciendo screenshot. vos ya probaste de utilizar este metodo en algun sistema tuyo?
  #5 (permalink)  
Antiguo 18/05/2012, 16:21
 
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Instalar sistema visor de pdf en php sin plugin

AMIGO NSD, TENGO EXACTAMENTE EL MISMO PROBLEMA QUE TU EN MI WEB, EN ESTE CASO ES UNA INTRANET Y NO PUEDO PONER LOS DOCUMENTOS EN LINEA O POR EJEMPLO EN GOOGLE DOC QUE TE AYUDA A EVITAR LA DESCARGA, SON CONFIDENCIALES. POR FAVOR SI ME PUEDES DECIR COMO HICISTE TE AGRADECERIA MIL, PQ TENGO ESTE PROBLEMA Y YA INTENTE VARIAS COSAS QUE NO ME FUNCIONAN, MI CORREO ES [email protected] POR FAVOR AYUDAAAAAA
  #6 (permalink)  
Antiguo 18/05/2012, 18:10
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Instalar sistema visor de pdf en php sin plugin

Cita:
Iniciado por kbarrientos Ver Mensaje
AMIGO NSD, TENGO EXACTAMENTE EL MISMO PROBLEMA QUE TU EN MI WEB, EN ESTE CASO ES UNA INTRANET Y NO PUEDO PONER LOS DOCUMENTOS EN LINEA O POR EJEMPLO EN GOOGLE DOC QUE TE AYUDA A EVITAR LA DESCARGA, SON CONFIDENCIALES. POR FAVOR SI ME PUEDES DECIR COMO HICISTE TE AGRADECERIA MIL, PQ TENGO ESTE PROBLEMA Y YA INTENTE VARIAS COSAS QUE NO ME FUNCIONAN, MI CORREO ES [email protected] POR FAVOR AYUDAAAAAA
Consulte las políticas del foro, evite escribir todo en mayúsculas. no se puede colocar el email o hacer contacto fuera de los mecanismos del foro (excepto el foro de ofertas de empleo), espere a que el otro usuario aporte la solución o investigue por su cuenta, use los MP siempre y cuando sea necesario

Si es una intranet se supone que no hay acceso desde fuera, que sentido tiene proteger los archivos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 19/05/2012, 16:44
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Instalar sistema visor de pdf en php sin plugin

buenas de nuevo, paso a comentarles como solucione este problema y como me las estoy arreglando, tome en consideracion todas las criticas y sugerencias y arme mi propio sistemita jeje lo que hago para evitar que otras personas tengan acceso a los documentos es simplemente no subirlos!! combierto manualmente los pdf a imagenes con un programita que tambien me permite renombrarlos (por ejemplo el pdf que tiene la informacion del lenguaje pascal del capitulo uno lo renombro a pascal_01_Numhoja) donde numhoja es el numero de cada hoja del documento, luego guardo todas las carpetas en una carpeta del server (localhost//protegidas/) y en una base de datos php guardo la info de los pdf que tengo y genero dinamicamente la direccion de la imagen a mostrar, cargandola mediante una funcion java en un div como atributo background de un div que carga una imagen png trasparente. que gano con todo esto? poruqe tanto alboroto? simple...
1)al cargar el div con javascript los navegadores no muestran lo que esta en ese div cuando ves el codigo fuente. de esa manera no pueden ver la ruta de la imagen.
2) al ponerlo como background de un div en la mayoria de los navegadores en el boton derecho no esta la opcion guardar imagen imagen de fondo como..
3)al poner un png trasparente sobre ese div en opera que si tiene la opcion de guardar fondo esta no aparece porque en su lugar solo te deja guardar el png trasparente que pusimos.
3)al cargar el background uso un script php de manera que devuelvo el binario de la imagen y no su ubicacion (<img src="mostramelaimagen.php">)
4)la carpeta "protegida" esta con seguridad htacces para que solo mis escript puedan ver contenido de ella (solo el script mostramelaimagen.php puede acceder a esa carpeta el resto devuelve error en server la carpeta no existe)
5) mostramelaimagen.php a su vez es llamado por otro script tomando la imagen que tiene que mostrar de una variable de secion temporal ;)
6) use un scrit java para borrar la cache del navegador 2 segundo despues de que cargue la web de manera que si van a la carpeta temp del navegador no encuentran las imagenes ya que estas desaparecen y quedan alojadas en ram solo mientras el usuario esta en la pagina.
7)imprpant? que hagan capturas? jajajaja naa javascrit borra el portapapeles 2 segundos despues de apretado.
es cierto que si usan winsnap esto no sirve de mucho, y que si quieren pueden obtener igual las imagenes de una u otra manera lo aran
si un buen hacker quiere entrar se sateara la proteccion htacces
esto solo hace que el 98% de los vivos que andan dando vueltas no puedan quedarse con los documentos y que el otro 3% tenga que estudiar para hacerlo
nose si te aclare algo, si te interesa mi solucion te puedo enviar los script, funcionan baste lindo y son muy eficientes.
(todo esto lo hise solo por no poder instalar el complemento imagik en el server sino tranqui que hace rato los protegia con mysql tambien a los pdf pero hasta que no logre instalarlos mi sistema esta como te comente recien)
  #8 (permalink)  
Antiguo 19/05/2012, 19:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Instalar sistema visor de pdf en php sin plugin

Y qué pasa si alguien trata de acceder directamente a mostramelaimagen.php proporcionando parámetros adecuados para ver la imagen?

Cita:
Iniciado por NSD
esto solo hace que el 98% de los vivos que andan dando vueltas no puedan quedarse con los documentos y que el otro 3% tenga que estudiar para hacerlo
Y el 1% sobrante tendrá que detenerse a pensar que 98 + 3 = 101%
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 20/05/2012, 12:22
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Instalar sistema visor de pdf en php sin plugin

es verdad el 1% que sobra se quedara pensando en eso

Pues bien si alguien intenta acceder directamente al script con los paramentros adecuados vera un error, estas son las primeras lineas del script:

Código PHP:
Ver original
  1. <?php
  2.     require("validacion.php"); //este es el script integral de seguridad contiene un compilado de scrpit que junte por internet y otros que hise yo personalmente, basicamente pone en 0 el valor Activo de la secion si la validacion es correcta o borrar la secion actual crear una nueva con activo=1 en caso contrario y salir instantaneamente del script.
  3.     if ($_SESSION['Activo']=0){ // pregunto por el resultado del scrit de validacion inmediatamente luego de salir de el (no doy tiempo a modificar manualmente el valor de secion por parte del usuario y si este usa scripting para hacerlo automaticamente es parte del 2% al que no frenare con mi proteccion :golpeado: )
  4.     header ("Location: index.php?error_login=6");//muestro el error y redirecciono
  5.     exit; //me voooy de esta pagina chauu
  6.     } else { //si esta todo en orden y pasa la validacion
  7.     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");//pongo una fecha exipirada
  8.     header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");//siempre esta modificada
  9.     header("Cache-Control: no-cache, must-revalidate");//no revalidar
  10.     header("Pragma: no-cache");//no cahear
  11.    
  12.     require_once ("xajax/xajax_core/xajax.inc.php");//incluyo sistema xajax
  13.     $xajax = new xajax("motorimagen.php");//funciones php que uso con xajax
  14.     $xajax->configure('javascript URI','xajax/');//funciones javascript de xajax
  15.     $xajax->register(XAJAX_FUNCTION,"verimagen");//funcion que carga las imagenes
  16.     $xajax->register(XAJAX_FUNCTION,"zoom");//funcion que agranda o achica estas
  17.     $xajax->register(XAJAX_FUNCTION,"rotar");//funcion que las rota, actualmente esta en desarrollo esta funcion aun no termine de hacerla :aburrido:
  18.     }
  19. ?>
  20. aca viene el cod de la pagina que se genera dinamicamente segun los valores de secion y parametros $_Post

actualmente trabaja asi pero si tienen alguna sugerencia me gustaria leerla para mejorar aun mas mi scrip

Etiquetas: instalación, pdf, samurajdata, visor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:27.