Showing posts with label code. Show all posts
Showing posts with label code. Show all posts

Monday, April 18, 2011

programmation = chirurgie cardiaque

similarités ?
phpmyadmin ou PMA possède de merveilleux scripts bien écrits dans les fichiers de fonctions, sécurité, globales, exemples de fonctions, gestion des données, redondance, anti-fail, une très bonne source pour apprendre !


/!\ Attention à ne pas déclencher un session_start() en auto append avec ce script, bien vérifier l'url avant de débuter cette fonction, priotiriser les traitement intelligement selon les premières variables présentes sur le serveur avant de faire quoique ce soit, respecter les procédures

Certaines requêtes de deux hôtes dans le midi de la france arrivent sur le serveur, sans host, sans url, cela ressemble à du ping => géré en fail2ban, l'user agent est nagios http check plugin 

Si Administrateur :

Friday, August 1, 2008

Php Kod FTPXFER Logs

function FTPXFER(){//Fichier Parfois présents dans les Logs 1And1, parfois pas
$dir="2001/log/";$file="../logs/ftp.log";$CS=filesize($file);
$Next=@file_get_contents($dir."FtpI");//87274octets,curseur de lecture !
if($CS<$Next)$Next=0;//Si Curseur > Taille Fichier
if($Next>($CS-600000))$Next2=$CS;else $Next2=600000+$Next;//prochain curseur, sinon on le fait évoluer pour lite progressivement le fichier !
writefichier($dir."FtpI",$Next2,'',"w+");//Ecriture du prochain curseur de lecture

echo"Next:$Next/$CS";//histoire d'y voir clair
$Flux=file_get_contents($file,0,NULL,$Next,600000);//Php5 permet la Lecture du fichier depuis $Next sur 600.000 octects de data :)
$LN=explode("\n",$Flux);
FOREACH($LN as $v){//Pour chaque ligne qui correspond à l'enregistrement "STOR" ereg pour choper les infos qui nous intéressent uniquement
if(ereg("\.jp",$v))NULL;//We don't give a Fuck on this one !
elseif(ereg("u46228702(.*) \"STOR (.*)\"",$v,$t))$FTP[abs(crc32($t[2]))].="\n$t[1] $t[2]";
//Crc32 pour retrouver une clé unique par enregistrement !
}//90.14.77.64 UNKNOWN u46228702 [08/Aug/2008:14:41:27 +0200] "STOR VakaAout2008.jpg" 226 54645
FOREACH($FTP as $v)$FTP2.=$v;
$FTP2=str_replace(" +0200","",$FTP2);//on s'en tappe du décalage horaire
writefichier("$dir*FTPXFER.Log",$FTP2,'',"a");//écriture en append
}
FTPXFER();
*Le Must serait de mettre chaque ligne dans un tableau, les comparer par les distances de Levenshtein, et ne conserver que l'enregistrement, la dernière date de modification du fichier, pas l'inverse !

-mat [07/Aug/2008:18:26:32] "STOR index.php" 226 2634
-mat [07/Aug/2008:18:27:26] "STOR index.php" 226 2640
-mat [07/Aug/2008:18:29:11] "STOR index.php" 226 2642
**Permet notamment de créer des comptes FTP spéciaux pour retracer les modifications du fichier quand on ne fait aucune SVN comme moi et que je suis habitué aux projets solo