Limiter la vitesse de dl au personne non enregistré

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Limiter la vitesse de dl au personne non enregistré

Re: Limiter la vitesse de dl au personne non enregistré

par Perine » 16 févr. 2013, 14:04

Les dernières versions d'Apache permettent de réduire la vitesse de téléchargement artificiellement.
http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html

Re: Limiter la vitesse de dl au personne non enregistré

par squallblanc » 13 févr. 2013, 23:35

je n'ai pas exploré cette piste pour l'instant mais je vais explorer cette piste.
Merci

Re: Limiter la vitesse de dl au personne non enregistré

par sirakawa » 13 févr. 2013, 11:41

Est-il possible de passer par FTP:
deux serveurs ftp distincts réglés diféremment, un pour les anonymes (limite de vitesse ou du nb de connexions simultanées),un pour les enregistrés, en passant par les fonctions ftp de PHPour le téléchargement ?

Re: Limiter la vitesse de dl au personne non enregistré

par squallblanc » 13 févr. 2013, 10:41

Merci pour vos réponses :D . Il est vrais que j'ai trouver des fonctionnalité pour limiter la vitesse des téléchargements via le serveur le problème c'est que pour l'instant je ne suis pas sur dédié...
Sinon l'alternative serai de limiter le nombre de dl par ip.

Re: Limiter la vitesse de dl au personne non enregistré

par xTG » 13 févr. 2013, 09:54

Je pense pas que ça soit une bonne idée.
Pendant un temps je pense que c'était ainsi que fonctionnait la plateforme d'hébergement de fichier rapidshare.
Sauf que beaucoup de navigateurs annulaient le téléchargement, sans doute en pensant que le serveur ne répondait plus.

Je pense que pour cela c'est pas au niveau du code qu'il faut regarder mais plutôt au niveau du serveur et de sa configuration.
Voire même lui rajouter un service qui gère cela. Mais là j'avoue que je parle mais j'y connais rien...

Re: Limiter la vitesse de dl au personne non enregistré

par sam12 » 12 févr. 2013, 21:45

Aucune idée si ça marche mais j'ouvrirai le fichier et je jouerai avec fread quelque chose comme:
fread($fichier, $tavitesse); et tu fais un sleep(1) pour limiter ta vitesse à X ko/sec. Tu mets tout ça dans une boucle qui check qu'on est pas à la fin du fichier et il faudrait peut-être vider les tampons et envoyer ça au navigateur à chaque itération de la boucle (à tester).
J’espère que j'ai été assez clair :D

Limiter la vitesse de dl au personne non enregistré

par squallblanc » 12 févr. 2013, 18:28

Salut à tous, suis encore confronté à un problème pour un de mes site...
Je prose des fichiers en dl hébergé sur mon serveur et je voudrais pouvoir limité la vitesse de dl au utilisateurs non enregistrés 75ko et 200 pour les enregistrés.
Pour télécharger mes fichier j'utilise le code suivant:
function telecharger_fichier($fichier, $id = 0)
{
 $chemin = id_dossier($id) . $fichier;
 if(file_exists($chemin) && strpos($fichier, '/') === FALSE && strpos($fichier, '.') !== 0)
 {
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='. basename($chemin));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($chemin));
  readfile($chemin);
  
	include("data_bd.php");
	connexion_bd();
	$insert = mysql_query("UPDATE roms SET download = (download+1) WHERE id=".$_GET['dl']."");

	if (!$insert){
		die('Requête invalide : ' . mysql_error()); 
	}
 
  exit; 	  
 }
 else
  require('erreur.php');
}
Pour la partie limite de débit je ne vois pas comment faire, j'ai test le seul bout de code dispo sur la toile mais ça ne fonctionne pas.
Si vous avez des solutions je suis preneur.
Merci