15miuteslive
Messages postés10Date d'inscriptiondimanche 13 mars 2011StatutMembreDernière intervention27 décembre 2011
-
7 avril 2011 à 17:33
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDerniè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 !
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 7 avril 2011 à 18:59
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');