Lenteurs scan FTP
Posté : 29 avr. 2014, 14:40
Salutations,
Nous avons sur notre site une page d'association qui renvoie sur une passerelle FTP interne pour proposer aux utilisateurs de télécharger gratuitement les pilotes matériels que nous sauvons, et ce depuis 1996 :
http://drivers.wda-fr.org
Cette passerelle était jusqu'alors assurée par un NAS NetGear ReadyNAS DUO, mais nous sommes passé depuis peu enfin sur un NAS Synology, beaucoup plus fluide et professionnel.
Depuis le passage sur le Syno, les scans de l'arborescence FTP sont très lents, bien qu'en interne ce soit complètement l'inverse.
Notre connexion internet est dédiée uniquement à ce service, et c'est une ligne vDSL en plein Paris.
Voici le code que nous utilisions pour cette routine :
Maintenant, il se connecte, mais n'affiche plus rien.
Et certaines routines d'affichage dédiées sont très lentes :
Votre regard avisé sera certainement plus à même de m'aider...
A vous lire,
Nous avons sur notre site une page d'association qui renvoie sur une passerelle FTP interne pour proposer aux utilisateurs de télécharger gratuitement les pilotes matériels que nous sauvons, et ce depuis 1996 :
Cette passerelle était jusqu'alors assurée par un NAS NetGear ReadyNAS DUO, mais nous sommes passé depuis peu enfin sur un NAS Synology, beaucoup plus fluide et professionnel.
Depuis le passage sur le Syno, les scans de l'arborescence FTP sont très lents, bien qu'en interne ce soit complètement l'inverse.
Notre connexion internet est dédiée uniquement à ce service, et c'est une ligne vDSL en plein Paris.
Voici le code que nous utilisions pour cette routine :
<?php
$ftpip = "notresousdomaine.dyndns.org";
$user = "log";
$pass = "pass";
$compte = "Drivers";
$port = "21";
// Mise en place d'une connexion basique
$connexion = ftp_connect($ftpip, $port, 2);
// Identification avec un nom d'utilisateur et un mot de passe
// $login = ftp_login($connexion, $user, $pass);
// Authentification & Vérification FTP
if (@ftp_login($connexion, $user, $pass)) {
echo "<div align='right' class='details'>Connecté\n</div>";
// Mise en place d'un Timeout (si connection UP)
// ftp_set_option($connexion, FTP_TIMEOUT_SEC, 5);
// $timeout = ftp_get_option($connexion, FTP_TIMEOUT_SEC);
// Activation du mode passif
ftp_pasv($connexion, true);
// Listing du serveur FTP avec lien
$file_list = ftp_nlist($connexion, '/'.$compte.'/');
// $file_list = ftp_rawlist($connexion, '/drivers/');
foreach ($file_list as $file)
if ($file != "." && $file != ".." && $file != ".DS_Store" && $file != "/Drivers/HEADER.html" && $file != "/Drivers/Network Trash Folder" && $file != "/Drivers/listing.php" && $file != "/Drivers/Temporary Items" && $file != ".htaccess") {
{
// echo '<a href="http://'.$ftpip.'/'.$compte.'/'.$file.'/" target="_blank">'.$file.'</a><br>';
echo '<a href="#" onClick="window.open(\'ftp://'.$user.':'.$pass.'@'.$ftpip.$file.'/\')">'.$file.'</strong></a><br />';
}
}
// Fermeture de la connexion
ftp_close($connexion);
// Affichage si pas de connexion possible
} else {
echo "<div align='center'><span class='rouge'>Connexion impossible au serveur privé de l'association <strong>WDA</strong>.<br /><br />Veuillez nous en excuser et réessayez SVP ultérieurement.\n</span></div><br />";
}
?>
Jusqu'alors, le script affichait un listing de l'arborescence, et re-dirigeait alors vers des liens directs FTP (ce qui n'était pas génial niveau Google & Cie, mais fonctionnel)...Maintenant, il se connecte, mais n'affiche plus rien.
Et certaines routines d'affichage dédiées sont très lentes :
<?php
$ftpip = "notresousdomaine.dyndns.org";
$user = "log";
$pass = "pass";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$arbo = 'ftp://'.$ftpip.'/'.$compte;
$total = $compte.'/'.$fichier;
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;
$tableau = array(); // Création du tableau vide pour recueillir le nombre d'offres dispos.
// Mise en place d'une connexion basique
$connexion = ftp_connect($ftpip, $port, 2);
// Tentative d'identification
if (empty($user)) // Si utilisateur est vide
{
$user = "anonymous";
}
// Authentification & Vérification FTP
if (@ftp_login($connexion, $user, $pass)) {
$handle = @fopen($fpdons, "r");
$fileLines = file($fpdons);
echo "<div align='right' class='details'>Connecté\n</div>";
(...)
// Fermeture de la connexion
ftp_close($connexion);
// Affichage si pas de connexion possible
} else {
echo "<span class='rouge'>Connexion impossible au serveur privé de l'association <strong>WDA</strong>.<br />Veuillez nous en excuser et réessayez SVP ultérieurement.\n</span><br /><br />";
}
?>
Je pense que certaines commandes FTP PHP ont dues évoluer depuis le temps ou nous avions déployé ces scripts, mais je ne sais pas ou chercher dans le code.Votre regard avisé sera certainement plus à même de m'aider...
A vous lire,