Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 22, 2012, 09:15:58
Foro de Hispabyte.netDiseño WebHosting y Desarrollo WebPHP (Moderador: D4MR0D)Tema: funcion evitar sql injection
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: funcion evitar sql injection  (Leído 2067 veces)
0 Usuarios y 2 Visitantes están viendo este tema.
wpersei1
Asiduo
***
Mensajes: 107


Ver Perfil WWW
« : Enero 29, 2008, 04:06:14 »


saludos

lo que pasa es que he estado tratando de solucionar este problema que me presenta un programa y he tratado de solucionarlo con las funciones basicas de addslashes y htmlentienes, pero siento que no es muy seguro, alguien tiene algun modulo ya desarrollado o conoce del alguno para esta seguridad

gracias por responder
En línea

http://www.imperionet.com/
Dise?o web, hosting, dominios, aplicaciones
"Solo s? que nada s?"
svoboda
Global Moderator
Experto
*****
Mensajes: 440



Ver Perfil
« Respuesta #1 : Enero 29, 2008, 09:56:35 »

Yo en muchas ocasiones, además de usar expresiones regulares en JavaScript para validar las cadenas en el cliente, suelo utilizar en PHP la función "mysql_real_escape_string". Puedes encontrar información sobre ella en el siguiente enlace:
http://es.php.net/manual/es/function.mysql-real-escape-string.php

Es pero que te sirva.
En línea
RJ-45
Global Moderator
Miembro Imprescindible
*****
Mensajes: 1.910



Ver Perfil
« Respuesta #2 : Enero 29, 2008, 04:11:17 »

Hay un módulo ya desarrolaldo para Xoops que creo que hace eso.

Se llama Protector y  va por la versión 3.x

http://www.xoops.org/modules/repository/singlefile.php?cid=59&lid=1687

Código:
- DoS
- Bad Crawlers (like bots collecting e-mails...)
- SQL Injection
- XSS (not all though)
- System globals pollution
- Session hi-jacking
- Null-bytes
- Directory Traversal
- Some kind of CSRF (fatal in XOOPS <= 2.0.9.2)
- Brute Force
- Camouflaged Image File Uploading (== IE Content-Type XSS)
- Executable File Uploading Attack
- XMLRPC's eval() and SQL Injection Attacks
- SPAMs for comment, trackback etc.


espero que te sirva
En línea
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« Respuesta #3 : Enero 29, 2008, 10:12:43 »

Forma completa usando lo comentado por svoboda.

Código:
$query = sprintf("SELECT * FROM libros WHERE autor='%s'",

addcslashes(mysql_real_escape_string($autor_nombre),'%_'));

mysql_query($query);

Tambien se pueden usar expresiones regulares para indicar explicitamente que caracteres quieres que se acepten (Ejemplo, solo numeros)
En línea
wpersei1
Asiduo
***
Mensajes: 107


Ver Perfil WWW
« Respuesta #4 : Enero 30, 2008, 04:31:27 »

pues la verdad es que estoy programandolo en una base de datos postgres, para ello encontre su igual en la funcion  pg_escape_string() aunque no entiendo bien su uso, por otra parte implemente esta funcion que no se que tan util sea

   function eliminar_car_especiales($val){
        $val = trim($val);
   //   $val = strip_tags($val);
        $val = str_replace("'", "",$val);
        $val = str_replace("\"", "",$val);
        $val = str_replace("(", "",$val);
        $val = str_replace(")", "",$val);
        $val = str_replace("&", "",$val);
        $val = str_replace("|", "",$val);
        $val = str_replace("<", "",$val);
        $val = str_replace(">", "",$val);
        $val = str_replace("--", "",$val);
       
        $val = trim($val);
        return $val;
    }


en realidad lo que necesito es una funcion que uno envie como parametro un string y le retorne el mismo pero limpio para utilizace en una consulta

gracias por responder
En línea

http://www.imperionet.com/
Dise?o web, hosting, dominios, aplicaciones
"Solo s? que nada s?"
Tae
Visitante
« Respuesta #5 : Septiembre 30, 2009, 04:05:45 »

Tal como dice HQH, puedes usar expresiones regulares. Yo utilizo la función preg_replace(), por ejemplo:

Código:
preg_replace('/[^0-9a-zA-Z\-]/i','',$variable)

limpia $variable dejando sólo digitos, letras desde la a la z en mayúsculas y minúsculas y el guión (-). Puedes hacer la función más o menos restrictiva según los datos que esperas.
En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netDiseño WebHosting y Desarrollo WebPHP (Moderador: D4MR0D)Tema: funcion evitar sql injection
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de