Un code pour temps d'attente ! [Résolu]

Messages postés
10
Date d'inscription
dimanche 13 mars 2011
Dernière intervention
27 décembre 2011
- - Dernière réponse : 007Julien
Messages postés
279
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
8 janvier 2014
- 7 avril 2011 à 18:59
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
279
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
8 janvier 2014
3
Merci
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');
  

Merci 007Julien 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de 007Julien
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Dernière intervention
9 août 2013
0
Merci
Tu as plus simple, definir des quota sur ton serveur FTP.
Commenter la réponse de Morphinof

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.