Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 08:55
javierflti
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 12 años, 11 meses
Puntos: 14
Consejos de seguridad en php?

Hola, estoy terminando mi script, y quería agregarle un poco de seguridad.
Me preguntaba si hay algún libro que explique algo sobre la seguridad de php y sql.

He leido aquí en el foro que existen estas funciones.
mysql_real_escape_string ()obviamente para mysqle
strip_tags (remueve etiquetas html)
htmlspecialchars
htmlentities
html_entity_decode
add_slashes

La primera la utilizo, pero se me hace muy largo ponerlo en todas las variables.

he leido en otro foro que puedes poner esto en el archivo de conexion

Código PHP:
<?php
# Funcion para limpiar caracte-
# res que pudieran comprometer
# al servidor y/o al usuario
function limpia($var){
    
$var strip_tags($var);
    
$malo = array("\\",";","\'","'"); // Aqui poner caracteres no permitidos
    
$i=0;$o=count($malo);
    while(
$i<=$o){
        
$var str_replace($malo[$i],"",$var);
        
$i++;
    }
    return 
$var;
}
 
# Funcion que aplica la funcion anterior
# para no tener que preocuparnos por
# ataques de XSS o SQLi
function LimpiarTodo($datos){
    if(
is_array($datos)){
        
$datos array_map('limpia',$datos);
    }else{
        die(
"<font color=#ff0000><b>Error:</b></font> La funcion <b>LimpiarTodo</b> debe contener un arreglo.");
    }
    return 
$datos;    
}
if(
$_POST){
    
$_POST =& LimpiarTodo($_POST);
}
if(
$_GET){
    
$_GET =& LimpiarTodo($_GET);
}
 
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_DB "localhost"// El host del MySQL
$database_DB "DataBase";  // Nombre de la base de datos
$username_DB "usuar10";   // Usuario con l que te conectas
$password_DB "th3pas5sz"// Contraseña ñ_ñ
$serpub mysql_connect($hostname_DB$username_DB$password_DB) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_DB);
?>
y dice que solo lo tenemos que insertar cuando hacemos alguna operacion en sql.
y me pregunto ¿como lo añadimos? solo es añadir el archivo conexion.php y listo?

Alguien que me pueda dar algún ejemplo o informacion al respecto.
Muchas gracias