Comunidad de diseño web y desarrollo en internet online

Enviar consulta sql de Flash a PHP

Citar            
MensajeEscrito el 10 May 2011 10:19 pm
Hola a todos, un gusto esta es la primera vez que escribo y porque realmente estoy en problemas. no encontre la solucion ni en google ni en los foros propios de cristalab

Quiero enviar una consulta sql desde flash a php y regresar el resultado, pero recalco que deseo enviar desde flash la consulta, es decir, desde flash quiero enviar "SELECT nombre FROM tabla WHERE 1" o la sentencia sql que desee tengo esto de codigo:

en flash: (lo importante esta abajo la variable consulta)

Código ActionScript :

var theXMLventa:XML = new XML();
theXMLventa.ignoreWhite=true;

theXMLventa.onLoad = function(){
      var nodes = theXMLventa.firstChild.childNodes;
      for(i=0;i<nodes.length;i++){
      libro = theXMLventa.firstChild.childNodes[i];
      Object(_root).opc.ventasrea.addItem({Fecha:libro.childNodes[0].firstChild,Nombre:libro.childNodes[1].firstChild, email:libro.childNodes[2].firstChild, Ciudad:libro.childNodes[3].firstChild, Total:libro.childNodes[4].firstChild, Monica:libro.childNodes[5].firstChild});
   }
   
}

consulta="SELECT nombre FROM tabla WHERE 1";
theXMLventa.load("http://www.youbuyleds.com/consuventas.php");


y en php:

Código PHP :

<?
$link = mysql_connect('localhost','tabla','contrasenia');
mysql_select_db('tabla', $link);

$sql =$_POST['consulta']; // aqui tengo problemas
$resultados = mysql_query("$sql");

echo '<?xml version="1.0"?>
<ybl>
';
while($renglon = mysql_fetch_row($resultados))
{
echo "<coments>
  <item>$renglon[0]</item>
  <item>$renglon[1]</item>
  </coments>
";
}
echo "</ybl>";
?>


la parte de $sql=$_POST['consulta'] es la que tengo problemas se supone que envio en texto con la consulta desde flash.

Solo esa parte es mi duda todo lo demas si tengo bien, me arroja error de mysql

Espero puedan ayudarme saludos!!!!

Por davidtool

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 May 2011 10:45 pm
talves sea en la forma como esta la variable $sql =$_POST['consulta']; talves tiene una comilla demas o algo asi y da error en la db primero deberias ver que es lo que envia tu flash
podrias depurar de la siguiente forma

Código PHP :

<?php 
$link = mysql_connect('localhost','tabla','contrasenia'); 
mysql_select_db('tabla', $link); 
 
$sql =$_POST['consulta']; // aqui tengo problemas 
file_put_contents('depurador_consulta.txt',$sql);
$resultados = mysql_query("$sql"); 
 
echo '<?xml version="1.0"?> 
<ybl> 
'; 
while($renglon = mysql_fetch_row($resultados)) 
{ 
echo "<coments> 
  <item>$renglon[0]</item> 
  <item>$renglon[1]</item> 
  </coments> 
"; 
} 
echo "</ybl>"; 

luego vees que genere una consulta sin errores ahora , supongo que este script es para hacer pruebas no? por que este si es un riesgo de seguridad lo que intentas hacer las consultas mysql tambien sirven para crear archivos o devolver datos como las password y esas cosas o incluso desde una consulta sql se puede leer archivos del sistema

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 May 2011 11:03 pm
Gracias por la respuesta, tenias razon use esa linea de codigo y veo que no me retorna nada, es decir no esta llegando la variable "consulta" de flash a php, y ya me di cuenta que es porque solo estoy usando .load en la variable xml, pero solo he aprendido a cargar un xml de php no se como enviar una variable tambien, estaria muy agradecido si me ayudan con eso. saludos

Por davidtool

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2011 04:33 am
estas cometiendo un error garrafal de seguridad, lo que haces no se debe hacer, en serio, estas mal, muy mal.

JAMAS UNA CONSULTA A LA DB PUEDE SER ENVIADA POR GET O POST
te arriesgas a una Inyección SQL



en php construye la consulta y recibes los parametros por POST

Código PHP :

$id_usuario = intval($_POST['id_user']); // te aseguras que es un entero así evitas un ataque
$sql = "
SELECT * FROM usuarios WHERE id = $id_usuario ;
";
$resultados = mysql_query("$sql"); 

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 May 2011 01:50 pm
Gracias por hacerme caer en cuenta eso, y tienes mucha razon... la aplicacion que estaba realizando era de consultar ventas en una base de datos pero se podia seleccionar la venta por nombre, fecha, lugar, monto, etc... entonces mi idea era enviar la consulta que se generaba en flash.. pero mejor voy a ponerlas en el php y en flash enviar un codigo que me indique a que tipo de consulta realizar y pasarle los parametros por POST..

Muchas gracias!!!!! Este foro realmente ayuda y es muy bueno!!!

Por davidtool

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2011 02:12 pm
de nada, que bueno que hallas entendido

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 May 2011 02:41 pm
mm si quieres dejar de liarte leete sobre AS3 es distinto de AS2 y tiene classes y paquetes mas entendibles creo que hay una para XML-RPC y SOAP las cuales php dispone asi podrias hacer mas cosas , buscate ejemplos de PHP - XML RPC y FLASH o AS3 hay muchso por la red y en este foro tambien , peroe so si tu server de ta soporte para esas extensiones para los hostings gratuitos veo que estan deshabilitados

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2011 05:06 pm
tuadmin explica por que se necesita un server especial para trabajar con flash...

y para que quieres usar XML si json es mas sencillo y optimo

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 May 2011 06:14 pm
segun tenia entendido para parsear xml era mas rapido en AS3 ya que venia en las librerias del core del flash player 9 y 10, y JSON no, para parsearlo se necesitava de una libreria de 3ros pero eso era antes ahora no estoy al tanto habia discuciones en que condiciones usarlo, JSON era conveniente cuando los datos eran de un tamaño considerable y los XML para peticion respuesta corto, lo mismo ocurria con php pero este opto por integrarlo al core desde la version 5.2.2 en adelante , incluso habia pruebas de que era mas rapido que sus funciones de serializacion del mismo.

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2011 10:38 pm
ok tuadmin lo de los datos considerables ya lo viví (optimizando algo para un conocido claber) y si, para una buena cantidad de datos olvidate de XML.

de todos modos ya tengo bastante olvidado a flash, principalmente porque nunca se dignaron a crear una versión para flash y ya ni me importa (loado sea jquery)

ahora, la explicación de necesitar un server especial para algo tan sencillo como enviar y recibir variables por post la quedas debiendo...

de todos modos muy bueno tu ultimo comentario :D

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 12 May 2011 04:46 pm
a lo del server especial solo era por seguridad no mas jeje yo soy un poco paranoico con eso del sniffing, las conexiones por XML-rpc o SOAP pueden ser por SSL, claro los ceritifcados pueden ser creados en casa a eso me referia con usar esas conexiones, asi evitamos o dificultamos el acceso a los datos por sniffing. por ejemplo en mi pais hay una empresa que tiene un webservice para envio masivo de Sms's como publicidad, su unico medio de seguridad es un usario y password, su ventaja es que la conexion se hacen entre servidores solamente jeje, pero si sacan una version cliente o algo asi mm o mejor si es flash y la conexion no es cifrada , seria algo interesante haber qu se podria hacer jeje

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 May 2011 05:17 pm
yo a flash lo veo como html con esteroides, osea, todo lo que venga de afuera (osea del flash o del html) es peligroso por que puede venir con ataques, desconfia de todo lo que venga por get, post o incluso por cualquier puerto (si usas algún otro metodo de comunicasion) todo lo que venga de afuera verificalo siempre

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 12 May 2011 05:47 pm
Gracias, la verdad por la parte de seguridad no le tome en cuenta ya que la aplicacion que estaba realizando es para una oficina interna de tres personas y solo esas tres personas la usan, pero buneo de todos modos si hay que tomar en cuenta cualquier tipo de infiltracion.

Por davidtool

2 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 May 2011 07:42 pm
La infiltración es lo de menos. ¿Qué tal un empleado malicioso?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 May 2011 10:10 pm

DriverOp escribió:

La infiltración es lo de menos. ¿Qué tal un empleado malicioso?.


misitio.com?ejecutaconsulta=DROP TABLE usuarios


no exageres no es para tanto ^^



XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 13 May 2011 11:25 am
Inyaka:
No me refería al qué, sino al quién.

Cuando leí el OP lo primero que pensé fue exactamente lo que has escrito en tu último mensaje :P

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 May 2011 02:29 pm
DriverOp fue una broma...

me extraña que a estas alturas no conozcas mi sentido del humor ;)

¿que significa OP?

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 13 May 2011 04:29 pm
Ahora que lo dices, sí lo entiendo como una broma xD

OP="Original Post", es decir el mensaje que inicia este hilo.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.