Un code pour temps d'attente !

[Résolu]
Signaler
Messages postés
10
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
27 décembre 2011
-
Messages postés
276
Date d'inscription
mercredi 22 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2014
-
Bonjour à tous !
Voila, cela fait maintenant plusieurs heures que je cherche en vain un code PHP.
Vous allez me dire : "Quoi comme code ?"

Voila ce que je cherche à faire :
J'ai créé un champ qui permet à des utilisateurs inscrits d'envoyer des images sur mon FTP pour pouvoir les mettre sur un sorte de mur (comme sur facebook).
Or, je ne veux pas que tes petits malin s'amusent à saturer mon FTP !
C'est pour cela que je cherche un code qui me permettra de définir un temps d'attente entre 2 envois d'image !

Je suis (gros) débutant en PHP donc soyez gentils

Merci à tous et bonne fin de journée !!


Loulou

2 réponses

Messages postés
276
Date d'inscription
mercredi 22 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2014
3
L'enregistrement des adresses IP et des dates et heures d'enregistrement des images dans un fichier texte devrait permettre d'interdire l'accès pendant un délai déterminé.

// Le fichier ipdt.txt doit exister (même vide) !
// Il est constitué comme suit : idUser0,dateUser0,idUser1,dateUser1,idUser2,dateUser2, etc...

// Lecture du fichier
$cnt=file_get_contents('ipdt.txt');
$tab=explode(',',$cnt); // tableau des adresses (rangs pairs) et dates rang suivant

// le timestamp limite : la date et l'heure actuelle moins le délai (ici 24 heures en secondes)
 	$tsd=time()-24*60*60;
$dlm=date('ymdHis',$tsd); // la date limite

// Mise à jour du tableau
$nwt=array();
foreach ($tab as $k=>$v) if ($k%2==0 && isset($tab[$k+1])){// Boucler sur les adresses de rangs pairs
  if ($tab[$k+1]<$dlm) $nwt[$v]=$tab[$k+1];// Pour ne retenir que les Ip récentes
  }

  // Si nouveau $_POST test : adresse encore présente ?
$adu=$_SERVER["REMOTE_ADDR"];
if (isset($nwt[$adu])) { // Trop tôt
      // message approprié
}
else {$nwt[$adu]=date('ymdHis'); // Enregistrer la nouvelle adresse et la date
    // Enregistrement de l'image
}
  // Enregistrer le nouveau fichier
  $cnt='';
foreach ($nwt as $k=>$v) $cnt.=",$k,$v";
$cnt=implode(',',$nwt);
  file_put_contents(substr($cnt,1),'ipdt.txt');
  
Messages postés
255
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
4
Tu as plus simple, definir des quota sur ton serveur FTP.