Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1571 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  limiter la vitesse de telechargement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

limiter la vitesse de telechargement

n°1285012
pimsa
Posté le 19-07-2011 à 17:31:51  profilanswer
 

bonjour,

 

j'ai un petit site qui permet de télécharger des fichiers >200Mo.
je souhaite pouvoir contrôler la vitesse de téléchargement de ces fichiers, en fonction du visiteur.

 

je connais les mods Apache tels que mod_cban ou mod_bandwith mais ils ne répondent pas tout à fait à mon besoin semble-t-il. En effet je souhaite limiter la vitesse de téléchargement "à la volée" en fonction de tel ou tel utilisateur, c'est-à-dire très précisément pour tel ou tel visiteur en particulier à un moment donné (dont je ne connais pas l'ip tant qu'il n'arrive pas sur le site), et non pas faire des règles qui ratissent large dans des fichiers vhost, http.conf etc...

  

ce que je ne veux pas faire:

Code :
  1. <VirtualHost *:80>
  2.     DocumentRoot /var/www/monsite.fr/
  3.     ServerName monsite.fr
  4.     blablabla
  5.     CBandSpeed 1024 10 30
  6.     CBandRemoteSpeed 10kb/s 3 2
  7.     blababla
  8. </VirtualHost>
  

ce que je veux faire:

Code :
  1. <?php
  2. if(is_allowed($visitor)){
  3.   header("Location: super_cool_fichier.zip" );
  4.   header("blabla" );
  5.   system("super_cool_mod --ip ".$_SERVER['REMOTE_ADDR']." -s -u -p -e -r --vitesse 10M --limit 0 --blabla" );
  6.   exit;
  7. }
  8. ?>


merci


Message édité par pimsa le 19-07-2011 à 17:35:38
mood
Publicité
Posté le 19-07-2011 à 17:31:51  profilanswer
 

n°1285013
bardiel
Debian powa !
Posté le 19-07-2011 à 17:58:55  profilanswer
 

En PHP c'est faisable, à coupler avec une authentification pour faire propre et avoir plusieurs parties voir une limite par utilisateur/jour.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1285017
pimsa
Posté le 19-07-2011 à 19:08:59  profilanswer
 

Merci.
Je connais, c'est pour ça que j'ai précisé ">200Mo", cette méthode va bien pour des fichiers de 5Mo, pas pour des fichiers qui approche le gigaoctet... ça pose le problème du max_execution_time et avec un code comme ça le serveur pète les plombs (load average).

n°1285023
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 19-07-2011 à 20:09:39  profilanswer
 

Réponse rapide : tu peux pas.
Réponse longue, avec PF ou haproxy (au choix) tu dois pouvoir mais bonjour la prise de tête.


Message édité par black_lord le 19-07-2011 à 20:09:56

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1285027
pimsa
Posté le 19-07-2011 à 20:45:06  profilanswer
 

je peux.
avec iptables par exemple.

n°1285028
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 19-07-2011 à 20:50:01  profilanswer
 

go ahead, make my day.
 

Spoiler :

[:cherrytree1]


 
mais honnêtement, le coupler avec un apache pour choisir le visiteur et tout, ça va être la prise de tête...


Message édité par black_lord le 19-07-2011 à 20:50:31

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1285030
pimsa
Posté le 19-07-2011 à 21:42:08  profilanswer
 

un truc comme  
 

Code :
  1. <?php
  2.  
  3. system("iptables -I OUTPUT -p tcp --sport 80 -d ".$_SERVER['REMOTE_ADDR']." -m connrate --connrate 10000:100000 -j ACCEPT" );
  4.  
  5. ?>


 
devrait marcher si j'en crois le manuel.

n°1285031
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 19-07-2011 à 21:46:02  profilanswer
 

[:vomi] [:vomi] [:vomi]  
[:vomi] [:vomi] [:vomi]  
[:vomi] [:vomi] [:vomi]  
 
faire tourner apache en root [:bien] fais donc péter l'adresse du serveur [:dawa]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1285033
pimsa
Posté le 19-07-2011 à 21:52:07  profilanswer
 

:D  
 
justement il tourne pas en root donc ça marchera pas  :o  
 
mais en ajoutant un sudo et mon pass root en clair dans le code php ça marchera :miam:

n°1285043
bardiel
Debian powa !
Posté le 19-07-2011 à 23:54:54  profilanswer
 

pimsa a écrit :

mais en ajoutant un sudo et mon pass root en clair dans le code php ça marchera :miam:


 [:implosion du tibia]  
 

Spoiler :

ça sent le futur topic "comment lancer une commande système en PHP sans accès root" :whistle:


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
mood
Publicité
Posté le 19-07-2011 à 23:54:54  profilanswer
 

n°1285045
pimsa
Posté le 20-07-2011 à 00:15:05  profilanswer
 

[:s@ms:3]

n°1285048
guepe
J'ai du noir sur la truffe ?
Posté le 20-07-2011 à 00:46:52  profilanswer
 

Et avec un appel genre policy-kit ?


---------------
Un blog qu'il est bien
n°1285054
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 20-07-2011 à 06:44:47  profilanswer
 

pimsa a écrit :

:D

 

justement il tourne pas en root donc ça marchera pas :o

 

mais en ajoutant un sudo et mon pass root en clair dans le code php ça marchera :miam:

 

Si vraiment tu veux faire ce genre de porcasseries,  passe au moins par un systeme asynchrone... ton apache pousse dans une message queue les infos concernant l'ip a shapper et tu fais un daemon qui consomme cette queue. Ce daemon tourne en root et fera justement les appels a iptables. Par contre quand tu seras fait rooter ton serveur tu ne pourras pas dire qu'on ne t'avais pas prévenu :o

 

Pfiou, heureusement que c'est pas mon metier ce genre de choses :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1285098
Gavrinis
Open your mind
Posté le 20-07-2011 à 13:48:25  profilanswer
 

En s'inspirant de ça pour la partie exécution avec droit root.

n°1285106
bardiel
Debian powa !
Posté le 20-07-2011 à 14:11:46  profilanswer
 

Citation :

La méthode ultime : exécuter le serveur web en tant que root
 
Non, je déconne.


 [:dracula]  
 
Le coup d'un wrapper, bien vu... mais donc on revient au bon vieux CGI des familles [:hahaguy]


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1285164
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 20-07-2011 à 19:51:52  profilanswer
 

les wrappers c'est sale. php + un beanstalk + un daemon et on en parle plus...


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  limiter la vitesse de telechargement

 

Sujets relatifs
VM Xen et vitesse d'écriture lamentable sur des imports NFSVitesse CPU Bizarre
Contrôler la vitesse des ventillateurs sous linuxCherche téléchargement de directx 9 dernière version PAS SDK
Xubuntu VS Arch sur ancien PC pour gagner un peu de vitesseQNAP TS 219P : Vitesse d'ecriture
[ Debian ] Apache + PHP5 : téléchargement au lieu d'afficher (résolu)Cherche logiciel pour réguler la vitesse du ventilo d'une carte ATI
Vitesse de transfert faible entre deux disques durs, need help.Logiciel pour limiter la vitesse de téléchargement
Plus de sujets relatifs à : limiter la vitesse de telechargement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR