Foros del Web » Programando para Internet » PHP »

Seguridad con PHP - solo para veteranos

Estas en el tema de Seguridad con PHP - solo para veteranos en el foro de PHP en Foros del Web. Hola amigos de foros del web quisiera preguntar algo q me tiene muy consternado. El caso es que tengo un reproductor en flash, este logicamente ...
  #1 (permalink)  
Antiguo 17/06/2007, 14:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 11 meses
Puntos: 4
Información Seguridad con PHP - solo para veteranos

Hola amigos de foros del web quisiera preguntar algo q me tiene muy consternado.
El caso es que tengo un reproductor en flash, este logicamente para crear la lista de canciones y eso deve tener un XML playlist, pues bien lo tiene y es uno hecho en php el cual es dinamico en funcion de los generos y eso.

Mi problema es el siguiente habra un metodo empleado por php que rreconosca que el script se esta ejecutando como xml por medio de un activex y no por el navegador como una pagina.

Hey empleado muchas tecnicas como $_SERVER['HTTP_USER_AGENT'] y otras tecnicas, en si de haber un veterano en php que me ayude le estaria muy agradecido.

En concreto: que el script solamente funcione cuando el reproductor flash lo llame y si en caso lo llama un navegador este no funcione o simplemente no aparesca nada.
  #2 (permalink)  
Antiguo 18/06/2007, 02:15
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Seguridad con PHP - solo para veteranos

Has pensado en la posibilidad de enviarle una variable desde flash con un valor concreto y que si esa variable no está con ese valor el script no devuelva nada?? Dificultaría mucho el poder usar el script sin ser de flash al tener que adivinar la variable y el valor que debe tener....
  #3 (permalink)  
Antiguo 18/06/2007, 08:23
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 11 meses
Puntos: 4
Re: Seguridad con PHP - solo para veteranos

umm..? Pues yo hice algo asi: reprod.swf?playlist=gen.php?genero=3443
pero ponte a pensar que si alguien pudiera ver mi codigo fuente el veria lo arriba escrito cierto y el solo pondria en el navegador (Iexplorer, Firefow, Netscape, Opera) gen.php?genero=3443 y por si solo el navegador lo habrira y mostrara el contenido del XML, el caso es que yo quiero evitar eso.

No se si habria forma de hacer que el script php, reconosca que el flash lo esta llamando de ser asi el mostraria el contenido y de ser un navegador no mostraria nada.

ummm he provado con header y eso pero nada, no me funciona.
Alguien que sepe que parametros o comandos usara el rep flash para asi poderlos reconocer con php y asi hacer que el script funciones estaria muy agradecido.
  #4 (permalink)  
Antiguo 18/06/2007, 08:47
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Seguridad con PHP - solo para veteranos

La idea que te dan es buena, sólo tendrías que replantear la manera en que intercambiás las variables entre el cliente (flash) y el servidor (php).
Lo mejor sería usar el método de intercambio que sugiere Adobe para estos casos: el objeto loadVars (en Google encontrarás mucha información al respecto).
Otra alternativa, una vez que conozcas ese método LoadVars, sería invocar desde Flash a un archivo php que cree una variable de sesión. Luego, podrías establecer un control en tus otros archivos php que verifique si la sesión ha sido creada y, si ha sido creada, permitir el acceso y si no, denegar el acceso.
  #5 (permalink)  
Antiguo 20/06/2007, 15:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 11 meses
Puntos: 4
Re: Seguridad con PHP - solo para veteranos

;) Umm es completamente magico pero al fin encontre la respuesta.
Pues el caso era que Panino5001 y Yranac me sugerian usar loadVars(); asi que lo hice pero mi idea era crear una session de la siguiente forma:
Código PHP:
session_start();
$_SESSION['cool']="activar"
Logicamente esta session era llamada por loadVars(), pero se presento un problema les explico:

Yo creava la session arriba expuesta en el archivo midominio.com/musica.php
el cual llamaba al archivo xml.php por medio de flash macromedia el cual le dava los parametros de las lista del reproductor,
vale decir nombre de artistas
url y cancion.
Pero si yo una ves hey estado en la pagina midominio.com/musica.php la session ya habra sido creada cierto. Pero y si yo veo el codigo fuente y deseo entrar al archivo xml.php para ver los parametros, podria haber hecho esto: poner en la barra del navegador midominio.com/xml.php y podria haber visto el codigo cierto, pues la session ya habia sido iniciada.

Ese era mi problema hasta que me consentraba se me vino algo a la mente y decidi hacer esto en el archivo xml.php

Cambiar este codigo:
Código PHP:
session_start();
if(
$_SESSION['cool']!="activar") exit();//esta linea era la encargada de evitar que alguien se filtre sin haber iniciado session. 
Por este otro:
Código PHP:
session_start();
if(
$_SESSION['cool']!="activar") exit();//esta linea era la encargada de evitar que alguien se filtre sin haber iniciado session.
session_unset(); Esto hara que la sesion muera al ejecutarce el archivo
Ge ge asi la persona que entra por midominio.com/musica.php al momento que el flash llame a la lista del archivo xml.php la session se destruira. Entonces cuando se pongue en el navegador web la direccion midominio.com/xml.php no correra simplemente por que la session ha sido destruida al momento que el flash recogio los datos. ;)
Me funciono muy bien gracias de todas maneras a mis amgiotes de foros del web. ;)
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 18:30.