Voici un script PHP qui permet de rechercher un caractère BOM (marque d’ordre des octets : cf: wikipedia) au sein de plusieurs fichiers « .php », « .html » et « .ini » contenus dans la WEB_ROOT.
<?php
$extensions_allowed = array();
$extensions_allowed [] = 'php';
$extensions_allowed [] = 'html';
$extensions_allowed [] = 'ini';
function listeFichiers($dir){
global $extensions_allowed;
if ($handle = opendir($dir)) {
/* Ceci est la façon correcte de traverser un dossier. */
while (false !== ($file = readdir($handle))) {
if (($file <>'.') && ($file<>'..')) {
if (is_file($dir.'/'.$file)){
$extension = pathinfo($dir.'/'.$file, PATHINFO_EXTENSION);
if (in_array($extension,$extensions_allowed)){
$fileHandle = fopen($dir.'/'.$file, "r");
$intro = fread($fileHandle, 3);
fclose($fileHandle);
if ($intro == "\xEF\xBB\xBF"){
echo "$dir/$file\n";
flush();
}
}
} else {
if (is_dir($dir.'/'.$file)){
listeFichiers($dir.'/'.$file);
}
}
}
}
closedir($handle);
}
}
header("Content-type: text/plain\n\n");
set_time_limit(3600);
$path = $_SERVER['DOCUMENT_ROOT'];
if (substr($path,-1)=='/'){
$path = substr($path,0,-1);
}
listeFichiers($path);
?>
Source : http://libre-d-esprit.thinking-days.net/2009/03/et-bom-le-script/
5 commentaire