Autor Tema: AntiSqlFlood MOD by kike [Seguridad]  (Leído 1333 veces)

Desconectado kike

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 0
    • Ver Perfil
AntiSqlFlood MOD by kike [Seguridad]
« en: 18 de Diciembre de 2007, 17:28:42 pm »
Buenas, quiero compartir con vosotros mi ultima modificacion para smf 1.1.4, es una proteccion contra ataques al sql.


Primero creamos un documento llamado

Citar
antisqlflood.php

Segundo en el pegamos el siguiente codigo

Código: [Seleccionar]
<?php 
//AntiSqlFlood by kike(cracking-z@hotmail.com)
//www.pixelsdream.com
//Esta obra está bajo una licencia de Creative Commons (http://creativecommons.org/licenses/by-nc-sa/2.5/es/)
session_start(); 
$tiempoespera 30
$session "sqlfloodprotection"
if ( isset($_SESSION["{$session}"]) && ( $_SESSION["{$session}"] >= time() - $tiempoespera ) ) 

          exit(
"<center><img src=&#39;http://www.pixelsdream.com/antiflood.jpg&#39; width=&#39;234&#39; height=&#39;234&#39; alt=&#39;antisqlflood by kike&#39;/><b>Please, wait 30 seconds for made another query or action</b><br><b>Por favor, espera 30 segundos para realizar otra consulta o accion</b></br>Press <b><a href=&#39;index.php&#39;>here</a></b> for return to index<br>Pulsa <b><a href=&#39;index.php&#39;>aqui</a></b> para volver al indice<br><br><br>Sql Flood Protection for smf by Kike(cracking-z@hotmail.com)<br>Developed by www.pixelsdream.com<br>Desarrollado por www.pixelsdream.com
<br>  
<br>  
<br> 
  <a rel=&#39;license&#39; href=&#39;http://creativecommons.org/licenses/by-nc-sa/2.5/es/&#39;>
<img alt=&#39;Creative Commons License&#39; style=&#39;border-width:0&#39; src=&#39;http://creativecommons.org/images/public/somerights20.png&#39; />
</a>
  </center>"
); 
          return 
false

$_SESSION["{$session}"] = time(); 
//AntiSqlFlood by kike(cracking-z@hotmail.com)
//www.pixelsdream.com
//Esta obra está bajo una licencia de Creative Commons (http://creativecommons.org/licenses/by-nc-sa/2.5/es/)
?>


Lo siguiente es proteger todas las acciones de index.php
para ello buscamos la siguiente linea

Código: [Seleccionar]
global $modSettings, $settings, $user_info, $board, $topic, $maintenance, $sourcedir;
y añadimos despues

Código: [Seleccionar]
//antidos protection by kike (cracking-z@hotmail.com)
if (isset($_GET['action']) && $_GET['action'] == 'search2' || $_GET['action'] == 'search'){
include 'antisqlflood.php';
}
if (isset($_GET['action']) && $_GET['action'] == 'login' || $_GET['action'] == 'login2'){
include 'antisqlflood.php';

}

con este simple codigo creado por mi protegeremos nuestro smf de algunos de los ataques sql a los que son vulnerables nuestros smf.

Este codigo tambien lo postee en
Simple Machines Forum

Si desean usarlo les ruego que no borren los creditos, gracias por su atencion y espero que les sea util.

Comunidad PHPeros

AntiSqlFlood MOD by kike [Seguridad]
« en: 18 de Diciembre de 2007, 17:28:42 pm »

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: AntiSqlFlood MOD by kike [Seguridad]
« Respuesta #1 en: 18 de Diciembre de 2007, 19:50:29 pm »
¿Lo has probado?
Por favor, leete las Normas


Desconectado kike

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 0
    • Ver Perfil
Re: AntiSqlFlood MOD by kike [Seguridad]
« Respuesta #2 en: 18 de Diciembre de 2007, 21:15:00 pm »
si lo he provado, solo que algunos sqlflooders no soportan cookies y la session tiene cookies
pd-puedes tambien probarlo tu mismo sin ningun riesgo
« Última modificación: 18 de Diciembre de 2007, 21:17:10 pm por kike »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: AntiSqlFlood MOD by kike [Seguridad]
« Respuesta #3 en: 19 de Diciembre de 2007, 16:46:23 pm »
Esta bien el codigo, lo unico que no entiendo es porque haces esto:

$session 
"sqlfloodprotection"
// Algo de codigo por aqui y despues...
$_SESSION["{$session}"] = time();


La unica explicacion que le veo es para no tener que andar modificando todas las sesiones si se modifica el nombre de esta, ¿Es ese el motivo?
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado kike

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 0
    • Ver Perfil
Re: AntiSqlFlood MOD by kike [Seguridad]
« Respuesta #4 en: 19 de Diciembre de 2007, 17:00:13 pm »
para evitar poner el nombre de la sesion cada vez, visteis como me pusieron a caldo en smf? jajaja bueno almenos algunos usuarios si saben apreciar el trabajo de otros jaja