Ver Mensaje Individual
  #30  
Antiguo 12-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¡Pero cómo que no! ¡¡Si acabas de convencerme de lo contrario!!

Lo estoy ahora mismo probando Román, y, parece que funciona... Este es el código que de momento está ejecutándose al "entrar" al formulario:

Código PHP:
  public function AssertAccessRetries(){
    global 
$gbInput;
    if(isset(
$_SESSION[GBUSER_SESSION_ACCESS_RETRIES])){
      if(
$_SESSION[GBUSER_SESSION_ACCESS_RETRIES
       >= 
GBUSER_MAX_ACCESS_RETRIES_NUM){
         return new 
GbError(array(
           
ra('Maximum user access retries detected.'),
           
ra('Please, close your session and try again.')
         ));
      }
    }else{
      if(
$gbInput->IsHttpGetRequest()){
        
$_SESSION[GBUSER_SESSION_ACCESS_RETRIES] = 0;
      }
    }
  } 
Y, este otro, se ejecutaría sólo cuando se enviase el formulario:

Código PHP:
  if(!isset($_SESSION[GBUSER_SESSION_ACCESS_RETRIES])){
    return new 
GbError(ra('Invalid user session. Please, try again.'));
  }else{
    
$_SESSION[GBUSER_SESSION_ACCESS_RETRIES]++;
  } 
El primero me parece más curioso que el segundo: fíjate que si no existe la variable de sesión, no la establece sin más: sólo lo hace si la petición es HTTP GET. Como pulgoso manda el formulario vía HTTP POST... se va a encontrar (y de hecho se encuentra) con el segundo código...

Ya digo, el asunto parece funcionar, aunque, no dudo de que pudiera "complicarse" lo que quisiese, guardando IPs, fechas, etc. Sin embargo, creo que podría valer tal cual, sin tantas complicaciones, pues, los problemas no los tendría el usuario normal y corriente, sino los caniches "roba contraseñas"... y de eso se trata, ¿no?

¡¡¡Ahora vas a decirme que no!!!

Lo que hay que hacer es pruebas y más pruebas... suponiendo varias posibilidades, cuantas más mejor, y ver si el invento aguanta o qué.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita