voy a tratar de dejar el codigo lo mas sencillo posible, dado que luego repite mucho, pero lo ideal seria que alguien me ayude agregar seguridad sobre lo actual que tengo.
como veran mi gran problema es que hago una subida de archivo... pero este no tiene ningun tipo de seguridad, me podrian ayudar un poco en este principio de codigo para hacerlo mas seguro?
dejo abajo tambien la linea de html del form que contiene el
Código:
y el simple campo input file esta de la siguiente formaif ($HttpVars->TraerPost('envio') != '') { $pathabs1 = ""; $pathabs2 = ""; $nombre = $HttpVars->TraerPost('nombre'); $sql="SELECT nombre from tbl_productos where nombre = '" . $nombre . "'"; $result = mysqli_query( $conexion, $sql ); if($result->num_rows > 0) { $existe = 1; }else{ $archivo1=$_FILES['imgch']['tmp_name']; $nomarchivo1=$_FILES['imgch']['name']; if (is_dir( PATHIMAGEN ) == false) { mkdir( PATHIMAGEN ); } $directorio = PATHIMAGEN ; $archfinal1 = $directorio . $nomarchivo1 ; if (file_exists ($archivo1)){ $pathabs1 = "" ; move_uploaded_file ($archivo1, $archfinal1 ); if (file_exists ($directorio . $nomarchivo1)) { $patharch1 = $directorio . $nomarchivo1 ; $pathabs1=str_replace("\\","\\\\",$patharch1); } } $nombre = $HttpVars->TraerPost('nombre') ; $keywords = $HttpVars->TraerPost('keywords') ; $chkpubli = $HttpVars->TraerPost('chkpubli') ; $destacado = $HttpVars->TraerPost('chkdestacado') ; $oferta = $HttpVars->TraerPost('chkoferta') ; if ($chkpubli == "") $chkpubli = 0; if ($destacado == "") $destacado = 0; if ($oferta == "") $oferta = 0; $dcorta = $HttpVars->TraerPost('dcorta') ; $dlarga = $HttpVars->TraerPost('dlarga') ; $tips = $HttpVars->TraerPost('tips') ; $dosis = $HttpVars->TraerPost('dosis') ; $codigo = $HttpVars->TraerPost('codigo') ; $precio = $HttpVars->TraerPost('precio') ; $id_cate = $HttpVars->TraerPost('cmbcategoria') ; $id_plaga = $HttpVars->TraerPost('cmbplaga') ; $id_subcate = $HttpVars->TraerPost('cmbsubcate') ; $sql="INSERT into tbl_productos( nombre, keywords, codigo, precio, dcorta, dlarga, tips, dosis, pathch, filech, destacado, oferta, publicado) VALUES " . "('".$nombre."','".$keywords."','".$codigo."',".$precio.",'".$dcorta."','".$dlarga."','".$tips."','".$dosis."','".$pathabs1."','".$nomarchivo1."','".$pathadj1."',".$destacado.",".$oferta.",".$chkpubli.")"; $result = mysqli_query( $conexion, $sql ); $agregada = 1; //grabo las categorias en la tabla relcateprod $sql = "SELECT MAX(id_prod) as id_prod FROM tbl_productos"; $result = mysqli_query( $conexion, $sql ); $myrow = mysqli_fetch_assoc($result); $id_prod = $myrow["id_prod"]; $idcate=$HttpVars->TraerPost('id_cate'); while (list ($key,$val) = @each ($idcate)) { $sql = "INSERT INTO tbl_relcateprod(id_prod, id_cate) VALUES (".$id_prod.",".intval($val).")"; $result = mysqli_query( $conexion, $sql ); } $idplaga=$HttpVars->TraerPost('id_plaga'); while (list ($key,$val) = @each ($idplaga)) { $sql = "INSERT INTO tbl_relplagaprod(id_prod, id_plaga) VALUES (".$id_prod.",".intval($val).")"; $result = mysqli_query( $conexion, $sql ); } } }
Código HTML:
<div class="form-group"> <label for="imgch">Imagen del producto</label> <input type="file" id="imgch" name="imgch"> </div>