Me aparecio cierto archivo (x.txt) en mi servidor con el siguiente texto "
hacked by Hmei7", quisiera que ayudaran a revisar mi codigo para saber si fue error mio en relacion al codigo php o si es error del servidor (y en ese caso hablarlo con mi proveedor).
Este es el index:
Código PHP:
<?php
error_reporting(E_ALL);
include('conf.php');
if (!empty($_GET['id']))
$modulo = $_GET['id'];
else
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]))
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]['layout']))
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;
$path_layout = LAYOUT_PATH.'/'.$conf[$modulo]['layout'];
$path_modulo = MODULO_PATH.'/'.$conf[$modulo]['archivo'];
if (file_exists($path_layout))
include( $path_layout );
else
if (file_exists( $path_modulo ))
include( $path_modulo );
else
die('Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>
Este es el config:
Código PHP:
<?php
define('MODULO_DEFECTO', 'home');
define('LAYOUT_DEFECTO', 'layout_default.php');
define('MODULO_PATH', realpath('./modulos/'));
define('LAYOUT_PATH', realpath('./layouts/'));
$conf['home'] = array(
'archivo' => 'home.php',
'layout' => LAYOUT_DEFECTO );
$conf['contacto'] = array(
'archivo' => 'contacto.php' );
$conf['restaurantes'] = array(
'archivo' => 'restaurantes.php',
'layout' => 'layout_restaurantes.php' );
?>
Esto va en el layout (lo demas del layout es solo HTML):
Código PHP:
<?
if (file_exists( $path_modulo )) include( $path_modulo );
else die('Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>
Y en los modulos algo como esto (HTML):
Código PHP:
<div>
<img src="imagenes/bienvenida.jpg" width="687" height="403" alt="" />
</div>
Y mi formulario de contacto que tambien es php es el siguiente (lo baje de un sitio por eso tiene comentarios):
Código PHP:
<?php
if (isset($_POST['submit'])) {
// Checamos si el Referer viene de nuestro sitio
$valid_hosts = array('www.algo.mx', 'algo.mx');
$temp_referer = explode('/', $_SERVER['HTTP_REFERER']);
if (!in_array($temp_referer[2], $valid_hosts)) {
exit('Formulario para uso exclusivo de Algo </p></fieldset></div></body></html>');
}
/* Setear todas las variables */
foreach ($_POST as $key=>$value) {
// Checamos algunas keys para prevenir spam/injections
if (eregi('MIME-Version:', $value) || eregi('Content-Type', $value) || eregi('boundary=', $value) || eregi('<script', $value) || eregi("CC:",$value)) {
exit('Error: Prohibido el SPAM </p></fieldset></div></body></html>');
}
$$key = $value;
}
/* Validacion*/
// Chequear campos obligatorios
$required_fields = array('nombre', 'email', 'comentario');
foreach ($required_fields as $required_field) {
if (!isset($$required_field) || $$required_field == '') {
exit('Todos los campos son obligatorios </p></fieldset></div></body></html>');
}
}
// Validar email
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $email)) {
exit('El formato de e-mail ingresado no es valido </p></fieldset></div></body></html>');
}
/* Fin Validacion */
// Mensaje
$message =<<<EOD
FORMULARIO DE CONTACTO
Nombre: {$nombre}
Email: {$email}
Comentario: {$comentario}
EOD;
$to = '[email protected]';
$subject = 'Contacto Algo';
$headers = 'From: [email protected]' ."\r\n";
mail($to,$subject,$message,$headers);
exit('Enviado Correctamente </p></fieldset></div></body></html>');
} else {
exit('No se puede acceder a este archivo directamente </p></fieldset></div></body></html>');
}
?>
Espero me puedan ayudar, ya que si me extraño la aparicion de ese archivo.