elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Esto esta bien ??? SOLUCIONADO!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Esto esta bien ??? SOLUCIONADO!  (Leído 3,239 veces)
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Esto esta bien ??? SOLUCIONADO!
« en: 12 Febrero 2012, 23:28 pm »

Ahi va !

Código
  1. $tallas = comprobartalla($_GET['recordID']);
  2. if ($tallas == 0) {$carrito = comprobarcarrito($_GET['recordID']);
  3. if ($carrito !=0) {$insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
  4.   $carrito);}
  5.   else {$insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad) VALUES (%s, %s, %s)",
  6.                       GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
  7.   GetSQLValueString($_GET['recordID'], "int"),
  8.   GetSQLValueString($_GET['intCantidad'], "int"));}
  9.   }
  10.  

Pongo las funciones:


Código
  1. function comprobartalla($idproducto)
  2. {
  3. global $database_conexionzulo, $conexionzulo;
  4. mysql_select_db($database_conexionzulo, $conexionzulo);
  5. $query_ConsultaFuncion = sprintf("SELECT * FROM tblproductotalla WHERE relProducto=%s", $idproducto);
  6. $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
  7. $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
  8. $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
  9. if ($totalRows_ConsultaFuncion == 0)
  10. return 0;
  11. else return 1;
  12. mysql_free_result($ConsultaFuncion);
  13. }
  14.  
  15. // +++++++++++++++++++++++++++++++++++++++++++
  16. // +++++++++++++++++++++++++++++++++++++++++++
  17.  
  18. function comprobarcarrito($idproducto)
  19. {
  20. global $database_conexionzulo, $conexionzulo;
  21. mysql_select_db($database_conexionzulo, $conexionzulo);
  22. $query_ConsultaFuncion = sprintf("SELECT * FROM tblcarrito WHERE idUsuario = %s AND idProducto=%s AND intTransaccionEfectuada = 0", $_SESSION['MM_IdUsuario'],$idproducto);
  23. $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
  24. $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
  25. $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
  26. if ($totalRows_ConsultaFuncion >0)
  27. return $row_ConsultaFuncion['intContador'];
  28. else
  29. return 0;
  30. mysql_free_result($ConsultaFuncion);
  31. }


Lo solucione con un elseif:

Código
  1. if ($tallas == 0 && $carrito!=0){$insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
  2.   $carrito);}
  3.   elseif ($tallas == 0 && $carrito == 0) {$insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad) VALUES (%s, %s, %s)",
  4.                       GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
  5.                       GetSQLValueString($_GET['recordID'], "int"),
  6.                       GetSQLValueString($_GET['intCantidad'], "int"));}

No se si es la manera adecuada o que... Pero bueno.. Si hay otra espero que me la hagan saber :D

Gracias a todos los que me ayudaron ! Y a los que no.... TAMBIEN !! jajaja


« Última modificación: 14 Febrero 2012, 18:40 pm por nobo » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #1 en: 13 Febrero 2012, 05:18 am »

Y la pregunta es?


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #2 en: 13 Febrero 2012, 10:42 am »

Pues que si esta bien... Porque no me esta funcionando :S

Si hay algun error, esa es la pregunta. Porque no me esta funcionando...
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #3 en: 13 Febrero 2012, 16:17 pm »

1. No esta funcionando qué!
2. Muestra algún error, cual?
3. No somos adivinos :D
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #4 en: 13 Febrero 2012, 16:28 pm »

Como dice shellroot debes decir porque no funciona, sale algun mensaje o se queda en blanco o que?

Código:
or die(mysql_error());
Eso jamas jamas jamas se hace o si no le estarás revelando a un atacante la información sobre nombre de tablas, columnas, querys, etc, además tu código tiene inyección sql.

La función mysql_error() solo lo utiliza el desarrollador para ver que pasa en ciertas sircunstancias pero jamas se debe dejar a la vista de los demás, para eso existe mysql_error_num() y según el número tu sistema debería reaccionar y decir if(num == 2) echo 'error en tal cosa.' Pero nunca reveles tablas, columnas ni datos.
En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #5 en: 13 Febrero 2012, 22:36 pm »

Perfecto !! Si me interesa.. Pero... Todavia no empece con el tema seguridad ya que la pagina esta en desarrollo en cuanto haya que ponerla a funcionar... Pedire consejos de seguridad :D

Pues la cosa es que no da ningun error jajajaja Ese es el problema si no sabria por donde tirar mas o menos o lo postearia.. Pero es que no da ningun error !!!

Simplemente hace lo mismo que antes.. Me añade el producto al carrito pero no lo suma...

Lo que se supone que tiene que hacer eso es mirar si tiene talla y si esta en el carrito. Si esta en el carrito hacer un update para sumarlo.

Asi que ... Es como si no estubiese funcionando :S Pero sin ningun error ni nada..

Gracias a los dos !
En línea

nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #6 en: 14 Febrero 2012, 17:47 pm »

Echo de esta consulta que es de la funcion comprobartalla:

$query_ConsultaFuncion = sprintf("SELECT * FROM tblproductotalla WHERE relProducto=%s", $idproducto);

SELECT * FROM tblproductotalla WHERE relProducto=2

Echo de la consulta de la funcion comprobarcarrito:

SELECT * FROM tblcarrito WHERE idUsuario = 1 AND idProducto=2 AND intTransaccionEfectuada = 0

Echo de $tallas:

0 (cuando no hay tallas)

1 (cuando hay tallas)

Echo $carrito:
88 (cuando esta en el carrito intContador)

0 (cuando no esta en el carrito) ....

He ido probando con el if y si me imprimia un echo por ejemplo cuando $tallas == 0 && $carrito !=0 ... He intentado hacer el UPDATE con esa comparacion y no me lo hace... Lo he intentado asi: $insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
                       $carrito);
« Última modificación: 14 Febrero 2012, 18:26 pm por nobo » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hacer esto con fork esta bien?
Programación C/C++
Belial & Grimoire 5 3,840 Último mensaje 28 Septiembre 2010, 16:26 pm
por [L]ord [R]NA
¿Esto está bien?
Programación Visual Basic
Akkiles145 2 1,802 Último mensaje 19 Diciembre 2010, 21:59 pm
por Akkiles145
Esto no va bien, Mariano « 1 2 3 4 5 »
Foro Libre
Scaramanga 45 11,724 Último mensaje 29 Mayo 2015, 02:29 am
por MCLucro
Alguien que me revise esto y me diga si esta bien
Programación C/C++
creiko 2 1,935 Último mensaje 12 Mayo 2016, 15:03 pm
por AlbertoBSD
[Pregunta]: ¿Está bien si hago esto?
Desarrollo Web
Leguim 0 1,812 Último mensaje 5 Enero 2020, 23:50 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines