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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  IF dependiendo si hay ID
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: IF dependiendo si hay ID  (Leído 7,981 veces)
Franki

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #10 en: 14 Septiembre 2010, 20:52 pm »

Si estas utilizando MySQL mejor utiliza mysql_real_escape_string(), es mucho más eficiente y seguro que utilizar addslashes. Addslashes solo lo utilizaria si el gestor de base de datos no tiene una funcion propia para limpiar entradas.

http://www.php.net/manual/es/function.mysql-real-escape-string.php

Ahi te explica como usarla.


En línea

tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #11 en: 14 Septiembre 2010, 23:58 pm »

Si estas utilizando MySQL mejor utiliza mysql_real_escape_string(), es mucho más eficiente y seguro que utilizar addslashes. Addslashes solo lo utilizaria si el gestor de base de datos no tiene una funcion propia para limpiar entradas.

http://www.php.net/manual/es/function.mysql-real-escape-string.php

Ahi te explica como usarla.

muy acertada decisión

Cita de: Shell Root
Cof, cof. Que porque es un foro de "hacking", siempre tenemos que hablar de eso?. A ver que le sacas al subforo "Diseño Gráfico".

no, simplemente creo que una programación segura se debe de tener "interiorizada" uno no programa aplicaciones seguras segun el foro en el que escribe, uno solo debe saber programar aplicacioens seguras... xD

espero que no lo tomes a mal, las ultimas correciones que te he hecho siempre te las tomabas a la tremenda...

un saludo ppl

pd: viher puedes hacer un include de ese php en cada archivo y listo


En línea

Colaboraciones:
1 2
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #12 en: 15 Septiembre 2010, 00:18 am »

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #13 en: 15 Septiembre 2010, 03:08 am »

Mejor usa id como entero y que menor o igual que 0 se jodan...
 
(int)$_GET['id']
 
Listo invulnerable...
 
Recuerda comprobar sí es menor o igual a 0 error, también puedes usar un mayor que x error también para que no te ahoguen la variable. Sí vas a usar variables con letras preocupate con lo que han mencionado.
 
Saludos
En línea

viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #14 en: 15 Septiembre 2010, 03:36 am »

ya he hecho en todas mis páginas un include al archivo con el siguiente código:

Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>

y con ésto ya limpio mi ID siempre y no hay ya ninguna fallo de seguridad,no es cierto? gracias
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #15 en: 15 Septiembre 2010, 03:38 am »

Si es un ID supongo que es numerico, porque no te pasaste por la sección de  Bugs y Exploits - Nivel Web, para ver como evitarlo?
:http://foro.elhacker.net/nivel_web/temas_mas_destacados_fallas_y_explotaciones_a_nivel_web_actualizado_31510-t244090.0.html
En línea

Te vendería mi talento por poder dormir tranquilo.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #16 en: 15 Septiembre 2010, 21:20 pm »

ya he hecho en todas mis páginas un include al archivo con el siguiente código:

Código
  1. <?php
  2. function addslashes__recursive($var){
  3. if (!is_array($var))
  4. return addslashes($var);
  5. $new_var = array();
  6. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  7. return $new_var;
  8. }
  9. $_POST=addslashes__recursive($_POST);
  10. $_GET=addslashes__recursive($_GET);
  11. $_REQUEST=addslashes__recursive($_REQUEST);
  12. $_SERVER=addslashes__recursive($_SERVER);
  13. $_COOKIE=addslashes__recursive($_COOKIE);
  14. ?>

y con ésto ya limpio mi ID siempre y no hay ya ninguna fallo de seguridad,no es cierto? gracias

Lo que estas haciendo, lo hace magic_quotes_gpc(GET, POST, COOKIE) mejor dejarlo On, así no tienen que hacer una función que realice el mismo trabajo y funcionara mas rápido.



Y en PHP >= 6, esta directiva ah sido removida, por algo sera no¿?. Lla forma CORRECTA para evitar SQLI es la funcion que menciono Franki mysql_real_escape_string().

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #17 en: 18 Septiembre 2010, 17:35 pm »

ok entonces usare mysql_real_escape_string().

he hecho el siguiente code,porfavor echenle un ojo aver si lo hice bien

Código
  1. <? include ("config.php");
  2.        if(empty($_GET["id"]))
  3. {
  4. echo "Selecciona un video para reproducir";
  5. }
  6. else{
  7. $id = $_GET["id"];
  8. $sql = "select * from videos where id=$id";
  9. //Instrucción a ejecutarse en la bbdd.
  10.  
  11. $squery = mysql_query($sql);
  12. //Ejecución de la instrucción
  13.  
  14. while($row = mysql_fetch_array($squery)){
  15. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  16. $nombre = mysql_escape_string($row['nombre']);
  17. echo $nombre; }}
  18. ?>

gracias!
« Última modificación: 18 Septiembre 2010, 18:08 pm por viher » En línea

Franki

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: IF dependiendo si hay ID
« Respuesta #18 en: 18 Septiembre 2010, 20:42 pm »

Esta mal, sigue siendo vulnerable porque utilizas la función despues para mostrar los datos. Tienes que filtrarlos antes de ejecutar la consulta a la base de datos.

Código
  1. <? include ("config.php");
  2.        if(empty($_GET["id"]))
  3. {
  4. echo "Selecciona un video para reproducir";
  5. }
  6. else{
  7. $id = mysql_real_escape_string($_GET["id"]);
  8. $sql = "select * from videos where id=$id";
  9. //Instrucción a ejecutarse en la bbdd.
  10.  
  11. $squery = mysql_query($sql);
  12. //Ejecución de la instrucción
  13.  
  14. while($row = mysql_fetch_array($squery)){
  15. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  16. $nombre =$row['nombre'];
  17. echo $nombre; }}
  18. ?>
En línea

viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: IF dependiendo si hay ID
« Respuesta #19 en: 19 Septiembre 2010, 17:40 pm »

gracias franki!  ;-)
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Modificar un txt dependiendo de la url de un php?
PHP
Tzdah 1 1,744 Último mensaje 15 Agosto 2013, 05:58 am
por Pablo Videla
activar script dependiendo la hora....
Desarrollo Web
basickdagger 0 1,763 Último mensaje 2 Octubre 2013, 16:38 pm
por basickdagger
concatenar items dependiendo condicion python
Scripting
asdexiva 0 2,771 Último mensaje 7 Mayo 2020, 23:36 pm
por asdexiva
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines