elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Tiempo de espera entre consultas sql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tiempo de espera entre consultas sql  (Leído 2,198 veces)
Percontex

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Tiempo de espera entre consultas sql
« en: 9 Mayo 2012, 07:20 am »

Veamos, tengo una página que estoy desarrollando que hace varias consultas a una base de datos tan solo con cargarla, funciona muy bien y todo pero tengo un temor al momento de subirla.

Alguien fácilmente podría comenzar un flood de gets y tirarme fácilmente el sitio, entonces lo que necesito es que haya un tiempo de espere antes de realizar las mismas consultas simultaneamente, por ejemplo:

Visito la página por primera vez y todo carga de inmediato.

Le doy f5 al siguiente segundo y deseo que me muestre una alerta o algo que diga que tiene que esperar unos segundos más.

Lo he intentado así:

Código:
<?php
function espera(){
sleep(5);
}
?>

Y luego insertar esta función más abajo:

Código:
register_shutdown_function('espera');

Pero de este modo lo único que logro es que la página quede 'cargando' 5 segundos, aunque sea la primera vez que se visita :(

Alguien me da una mano?


En línea

pwnz

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Re: Tiempo de espera entre consultas sql
« Respuesta #1 en: 10 Mayo 2012, 21:32 pm »

A lo mejor me he complicado un poco, de todas formas lo he hecho en 10 min quizá alguien te de una solución mejor xD.
Código
  1. <?php
  2.  
  3. if(isset($_SESSION['hora+5sg'])){
  4. // Segunda vez o posterior que entras a la pagina
  5. if(time()<$_SESSION['hora+5sg']){
  6. //No puedes pasar, aqui redireccionas con header por ejemplo
  7. echo "No puedes pasar";
  8. }else{
  9. echo "Puedes pasar";
  10. $_SESSION['hora+5sg'] = time()+5; // Pasaste, la siguiente vez sera dentro de 5 sg
  11. }
  12.  
  13. }else{
  14. // Primera vez que entras
  15. $_SESSION['hora+5sg'] = time()+5; // Tempo + 5 segundos
  16. }
  17.  
  18. ?>
  19.  
Como dije lo hice rápido seguro que se puede mejorar. Básicamente cuando accedes guardas en una variable de sesión la hora en la que pudiste acceder a la página y le suma 5 segundos (puedes cambiarlo por lo que quieras),
luego con el if vas comprobando cada vez que accedes si han pasado 5 segundos o no.


« Última modificación: 10 Mayo 2012, 21:36 pm por pwnz » En línea

Percontex

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Tiempo de espera entre consultas sql
« Respuesta #2 en: 11 Mayo 2012, 07:35 am »

A lo mejor me he complicado un poco, de todas formas lo he hecho en 10 min quizá alguien te de una solución mejor xD.
Código
  1. <?php
  2.  
  3. if(isset($_SESSION['hora+5sg'])){
  4. // Segunda vez o posterior que entras a la pagina
  5. if(time()<$_SESSION['hora+5sg']){
  6. //No puedes pasar, aqui redireccionas con header por ejemplo
  7. echo "No puedes pasar";
  8. }else{
  9. echo "Puedes pasar";
  10. $_SESSION['hora+5sg'] = time()+5; // Pasaste, la siguiente vez sera dentro de 5 sg
  11. }
  12.  
  13. }else{
  14. // Primera vez que entras
  15. $_SESSION['hora+5sg'] = time()+5; // Tempo + 5 segundos
  16. }
  17.  
  18. ?>
  19.  
Como dije lo hice rápido seguro que se puede mejorar. Básicamente cuando accedes guardas en una variable de sesión la hora en la que pudiste acceder a la página y le suma 5 segundos (puedes cambiarlo por lo que quieras),
luego con el if vas comprobando cada vez que accedes si han pasado 5 segundos o no.

Gracias! por el momento va perfecto el script  ::)

Como dijiste en en el no puedes pasar, lo estoy redireccionando con un header a un html vació para evitar problemas ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Kitar el tiempo de Espera
Sugerencias y dudas sobre el Foro
templar 9 3,634 Último mensaje 24 Diciembre 2004, 04:51 am
por el-brujo
Tiempo de espera
Programación Visual Basic
Kizar 3 2,449 Último mensaje 16 Octubre 2005, 20:36 pm
por yeikos
un tiempo de espera
Programación Visual Basic
SheKeL_C$ 1 1,990 Último mensaje 15 Febrero 2006, 00:25 am
por EstoyBaneado
Bypass tiempo de espera de Megaupload
Programación Visual Basic
XcryptOR 6 5,044 Último mensaje 14 Julio 2009, 17:47 pm
por ^_^
Se acabó la espera, elementary OS Freya ya está entre nosotros: estas son sus...
Noticias
wolfbcn 0 1,758 Último mensaje 12 Abril 2015, 22:25 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines