Hola amigos!!
Bueno, voy a dejar este tutorial que es una modificación para darle más seguridad a nuestro foro, antes quiero aclarar que este tutorial que haré está basado en la ayuda que una vez me dió
^HeRaCLeS^, pero en este caso yo mismo he modificado toda la función completa y le he insertado comentarios para que puedan tener más conocimientos sobre lo que hace la función de este código, los archivos a usar son los que ^HeRaCLeS^ me indicó que son los correctos.
Lo que hace esta modificación, es verificar las IPs de los usuarios/bots que se registran en nuestro foro, si alguna IP está listada en la web
http://stopforumspam.com/, el código cargará esa IP en el archivo .htaccess ubicado en la raíz de tu sitio web para que ésta IP no vuelva a ingresar nuevamente al foro ni a ninguna parte de tu sitio web, ya que sería considerada una IP maliciosa.
Comienzo con las ediciones de los archivos:
/Sources/Register.phpBuscar:?>
Agregar antes:checkIP_SFS();
/Sources/Subs.phpBuscar:?>
Agregar antes:function checkIP_SFS()
{
global $user_info;
// Abre la conexion con Stop Forum Spam
$fp = fsockopen("api.stopforumspam.org", 80, $errno, $errstr, 10);
$ipListada = false;
if ($fp) {
// Seteo de cabeceras
$datos = "GET /api?ip=$user_info['ip'] HTTP/1.1\r\n";
$datos .= "Host: api.stopforumspam.org\r\n";
$datos .= "User-Agent: Script PHP/SMF\r\n";
$datos .= "Connection: Close\r\n\r\n";
// Envio de cabeceras al sitio web
fwrite($fp, $datos);
// Lectura de los datos recibidos de la peticion GET
while (!feof($fp)) {
$data = fgets($fp, 128);
// IP Listada? Ok, se cumple esta condicion
if (strpos($data, '<appears>yes</appears>') !== false) {
$ipListada = true;
}
}
// Se verifica que la IP es maliciosa, en caso afirmativo se cumplira la condicion
if ($ipListada === true) {
// Agrega la IP maliciosa al archivo .htaccess
$archivo = fopen("/home/usuario/public_html/.htaccess", "a");
fwrite($archivo, "deny from $user_info['ip']\n");
fclose($archivo);
}
// Se cierra la conexion
fclose($fp);
}
}
En esta línea:
$archivo = fopen("/home/usuario/public_html/.htaccess", "a");deben reemplazar
usuario por su nombre de usuario.
Ahora suban esos dos archivos modificados y los reemplazan por los que tenían.
Listo eso es todo!!
Para verificar que el código está funcionando, pueden ingresar por proxy a su foro e intentar registrarse, pueden usar esta web que la mayoría de IPs están listadas:
https://www.proxysite.com/es/Por último comentarles que yo tenía este script instalado en mi foro y funcionaba fantástico, así me pude librar de varios bots que siempre frecuentaban mi foro queriéndose registrar, la web
http://stopforumspam.com/ es una web muy fiable y casi nunca habrá falsos positivos, además que la función de este código es totalmente automática...
Me comentan cualquier duda o problema que tengan!!
Saludos y espero comentarios!!