$input_post) { $_POST[$key] = addslashes(limpiarCadena($input_post)); } $input_get = array(); foreach ($_GET as $key => $input_get) { $_GET[$key] = addslashes(limpiarCadena($input_get)); } function limpiarCadena($valor) { $valor = str_ireplace("SELECT","",$valor); $valor = str_ireplace("COPY","",$valor); $valor = str_ireplace("DELETE","",$valor); $valor = str_ireplace("DROP","",$valor); $valor = str_ireplace("DUMP","",$valor); $valor = str_ireplace(" OR ","",$valor); $valor = str_ireplace("%","",$valor); $valor = str_ireplace("LIKE","",$valor); $valor = str_ireplace("--","",$valor); $valor = str_ireplace("^","",$valor); $valor = str_ireplace("[","",$valor); $valor = str_ireplace("]","",$valor); $valor = str_ireplace("\\","",$valor); $valor = str_ireplace("!","",$valor); $valor = str_ireplace("¡","",$valor); $valor = str_ireplace("?","",$valor); $valor = str_ireplace("=","",$valor); $valor = str_ireplace("&","",$valor); $valor = str_ireplace("$","",$valor); $valor = str_ireplace("//","",$valor); $valor = str_ireplace("ping","",$valor); $valor = str_ireplace("sleep","",$valor); $valor = str_ireplace("(","",$valor); $valor = str_ireplace("CONCAT","",$valor); $valor = str_ireplace("row","",$valor); $valor = str_ireplace("count","",$valor); $valor = str_ireplace("CHAR","",$valor); $valor = str_ireplace("chr","",$valor); $valor = str_ireplace("CAST(","",$valor); $valor = str_ireplace("write","",$valor); $valor = str_ireplace("print","",$valor); $valor = str_ireplace("WAITFOR DELAY","",$valor); $valor = str_ireplace("phpprint","",$valor); $valor = str_ireplace("DECLARE","",$valor); $valor = str_ireplace("limit","",$valor); $valor = str_ireplace("phpprint","",$valor); $valor = str_ireplace("..","",$valor); $valor = str_ireplace("/","",$valor); $valor = str_ireplace("SET","",$valor); $valor = str_ireplace("DELAY","",$valor); $valor = str_ireplace("log/","",$valor); $valor = str_ireplace("message/","",$valor); $valor = str_ireplace("from","",$valor); $valor = str_ireplace("sprintf","",$valor); $valor = str_ireplace("'","",$valor); return $valor; } //busca ip real function getRealIP() { if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) { $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" ); // los proxys van añadiendo al final de esta cabecera // las direcciones ip que van "ocultando". Para localizar la ip real // del usuario se comienza a mirar por el principio hasta encontrar // una dirección ip que no sea del rango privado. En caso de no // encontrarse ninguna se toma como valor el REMOTE_ADDR $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']); reset($entries); while (list(, $entry) = each($entries)) { $entry = trim($entry); if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) ) { // http://www.faqs.org/rfcs/rfc1918.html $private_ip = array( '/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^10\..*/'); $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]); if ($client_ip != $found_ip) { $client_ip = $found_ip; break; } } } } else { $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" ); } return $client_ip; } $ip=getRealIP(); $bloqueado="41.234.1.81"; require_once('recaptchalib.php'); $publickey = "6LdTtgkAAAAAAB5m6kExyKmNMdou92uSURwATvag "; $privatekey = "6LdTtgkAAAAAAN4xbP0fhewxNhtgvlxrjP10kEl3 "; if ($_POST["recaptcha_response_field"]) { $cif=$_POST["cif"]; $empresa=$_POST["empresa"]; $direccion=$_POST["direccion"]; $localidad=$_POST["localidad"]; $provincia=$_POST["provincia"]; $telefono=$_POST["telefono"]; $contacto=$_POST["contacto"]; $comentarios=$_POST["comentarios"]; //$ip=$_POST["ip"]; $email=$_POST["email"]; // capcha $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); // fin capcha if ($resp->is_valid) { $ip=getRealIP(); if(stristr($ip,$bloqueado) === FALSE) { // conexion a bbdd include ("assets/con/conectar.php"); // insertamos los datos introducidos por el distribuidor $fecha = date("d/m/Y"); $sql = "INSERT INTO solicitudCanal(fecha , empresa, cif , direccion, localidad , provincia , telefono, contacto , email , comentarios,ip) VALUES ('$fecha' ,'$empresa','$cif' ,'$direccion','$localidad' ,'$provincia' ,'$telefono','$contacto' ,'$email' ,'$comentarios','$ip')"; // ejecutamos el insert $sql= htmlentities($sql ); $result = mysql_query($sql); $emailCliente = $email; // enviamos mail de aviso a adiptel de solicitud de información $email = "jcalleja@adiptel.com"; $headers = "From: adiptel@adiptel.com\r\n"; $headers .= "Bcc: fballesta@adiptel.com\r\n"; $to = $email; $subject = "Nueva peticion de informacion de Distribuidores y Reseller"; $mensaje = "Se ha solicitado informacion desde area de Distribuidores y Reseller\n\nDetalle de la solicitud:\n\nFecha: ".$fecha."\nEmpresa: ".$empresa."\nProvincia: ".$provincia."\nEmail: ".$emailCliente."\n\n".$comentarios."\n\n IP:".$ip; $exito = mail($to, $subject, $mensaje,$headers); $mensaje_web= "Su solicitud ha sido enviada, en breve nos pondremos en contacto con usted.
Gracias por su atención
"; // mostramos mensaje al usuario }else{ $email = "jcalleja@adiptel.com"; $headers = "From: adiptel@adiptel.com\r\n"; $headers .= "Bcc: fballesta@adiptel.com\r\n"; $to = $email; $subject = "(SPAM) Peticion de informacion de Distribuidores y Reseller bloqueada"; $mensaje = "se ha bloqueado el insert a la ip: ".$ip. " desde el formulario de Distribuidores y Reseller\n\nDetalle de la solicitud:\n\nFecha: ".$fecha."\nEmpresa: ".$empresa."\nProvincia: ".$provincia."\n\n".$comentarios; $exito = mail($to, $subject, $mensaje,$headers); } } else { echo exec('iptables -A INPUT -s ' . $ip . ' -j DROP'); $error = $resp->error; $mensaje_web= "Error no ha introducido corectamente la capcha, vuelva a intentarlo:
« Volver atrás"; $email = "jcalleja@adiptel.com"; $headers = "From: adiptel@adiptel.com\r\n"; $headers .= "Bcc: fballesta@adiptel.com\r\n"; $to = $email; $subject = "Error: Peticion de informacion de Distribuidores y Reseller no ha introcucido y se ha baneado"; $mensaje = "No se ha insertado el registro de la : ".$ip. " desde el formulario de Distribuidores y Reseller\n\nDetalle de la solicitud:\n\nFecha: ".$fecha."\nEmpresa: ".$empresa."\nProvincia: ".$provincia."\n\n".$comentarios.$error;; $exito = mail($to, $subject, $mensaje,$headers); } } ?> Adiptel Distribuir telefonia ip