Como protegerme de Inyecciones SQL ?
Publicado por EfrainMejiasC (45 intervenciones) el 26/08/2012 13:10:41
hola
Me gustaria tutoriales o codigo sobre como proteger mi sitio de piratas informaticos, Inyecciones SQL y XSS ??
Por otra parte consegui este codigo para filtrar datos a la hora de insertar registrosen mi DB
pero tengo dudas sobre las palabras reservadas y funciones q cumplen y otra cosa aunque ese archivo se incluye como required("FiltroDatos.php") lo que esta contenido dentro es una funcion y no se si se esta ejecutando o no, ya que no veo donde es llamada a menos que se invoque solo con el
Me gustaria tutoriales o codigo sobre como proteger mi sitio de piratas informaticos, Inyecciones SQL y XSS ??
Por otra parte consegui este codigo para filtrar datos a la hora de insertar registrosen mi DB
pero tengo dudas sobre las palabras reservadas y funciones q cumplen y otra cosa aunque ese archivo se incluye como required("FiltroDatos.php") lo que esta contenido dentro es una funcion y no se si se esta ejecutando o no, ya que no veo donde es llamada a menos que se invoque solo con el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
required("FiltroDatos.php")
//FiltroDatos.php con estofiltro los datos que se van insertar en la DB
<?php
function sqlValue($value, $type) {//AL usar required("FiltroDatos.php") se invoca????
$value = get_magic_quotes_gpc() ? stripslashes($value) : $value;
$value = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($value) : mysql_escape_string($value);
switch ($type) {
case "text":
$value = ($value != "") ? "'" . $value . "'" : "NULL";
break;
case "int":
$value = ($value != "") ? intval($value) : "NULL";
break;
case "double":
$value = ($value != "") ? "'" . doubleval($value) . "'" : "NULL";
break;
case "date":
$value = ($value != "") ? "'" . $value . "'" : "NULL";
break;
}
return $value;
}
?>
//InsertarDatos.php aqui inserto en DB
<?php
error_reporting(0);
require("FiltroDatos.php"); aqui se incluye el archivo
$host="localhost";
$user="root";
$pw="";
$db="inicio";
$flag=null;
$pathDestino="Fotos/";
if ($_POST["action"]){
opendir($pathDestino);
$flag = $pathDestino.$_FILES["archivo"]["name"];
copy($_FILES["archivo"]["tmp_name"],$flag);
$nombre=$_FILES["archivo"]["name"];}
if($_POST["guardar"])
{
if ($_POST['cedula'] && $_POST['nombre'] )
{
$cnx = mysql_connect($host,$user,$pw) or die ("PROBLEMAS DE CONEXION 1");
mysql_select_db($db,$cnx) or die ("PROBLEMAS DE CONEXION 2");
mysql_query ("INSERT INTO extensa
(Cedula,Nombre,TipoTrabajador,ClaseTrabajador,FechaIngreso,Observacion,Path) VALUES
('".$_POST["cedula"]."','".$_POST["nombre"]."','".$_POST["tipo"]."','".$_POST["clase"]."'
, '".date("Y-m-d")."','".$_POST["observacion"]."','".$_POST["dir"]."')",$cnx);
header("Locationsindex.php");
echo "OPERACION EXITOSA";
}
else
{
echo ("Debe Suministrar Datos para todos los Campos");
}
}
?>
Valora esta pregunta


0