AlterVista

- Guide all'Alias Mail
- Numero Server
- phpinfo() v4 e 5

Speciale

- PADS
- Test Velocità ADSL

Webmaster

- Tool per Webmaster
- Calcolo Hash MD5
- Calcolo Hash SHA1
- Base64 Encode/Decode
- Calcolo PageRank Generatore di:
- Feed RSS 2.0
- Meta Tags
- File ".htpasswd"

Scaricare

- Video da YouTube
- Video da MegaVideo
- Files da MegaUpload

Altro...

- Barzellette
- Blog
- Contatti

Advertising

TOP 100

Questo breve script che segue, consente di simulare la mod_autoindex di Apache che consiste, per chi non lo sapesse, nell'elencare tutti i file e le directory di una determinata cartella se essa non possiede un file index.

Lo script è pensato e creato da Michelangelo Scotto (Miki92) per gli utenti di AlterVista.org in quanto su questo hosting la mod_autoindex è disattivata.

Questo script richiede PHP 4 o superiore e la possibilità di personalizzare la pagina di errore 404 (opzionale).
Il codice che noi andremmo ad utilizzare è il seguente:

<?php

/* PHP's Apache Directory Simulator è uno script by Michelangelo Scotto (http://miki92.altervista.org/ - http://messenworld.altervista.org/
   - http://micscotto.altervista.org/), questo script permette di simulare le Directory Index ove è stato impedito per una modifica al file
   httpd.config di Apache. Questo script è stato pensato ed adattato per la community di AlterVista.org: progetto non ufficiale di AlterVista.
   Il progetto è pubblicato sotto una Licenza Creative Commons (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it), per aggiornamenti,
   release e news sul seguente script visitare http://miki92.altervista.org/php-apache-dir-simulator/ | Copyright © 2009 Michelangelo Scotto. */

// Inizio Configurazione Script -->

// $serversignature = $_SERVER['SERVER_SOFTWARE']." ".phpversion()." Server at ".$_SERVER['SERVER_NAME']." Port ".$_SERVER['SERVER_PORT'];   
$serversignature "Apache/2.2.8 (Win32) PHP/5.2.6 Server at localhost:8080";
$qsm "dircwd"// Query String, quello che sarà visibile nell'URL per esplorare le cartelle, default: dircwd => /?dircwd=directory_da_esporare/
$homeserver str_replace("\\","/",getcwd()."/"); // Path Assoluta di dove si trova questo script
$servericons "/icone/"// Path di dove sono collocate le icone da utilizzare
$exticons "gif"// Estensione delle icone
$nodirfil = array(basename($_SERVER['PHP_SELF']),"icons"); // Array con le directory / files da non indicizzare

// <-- Fine Configurazione Script

$cwd strtr(strip_tags(str_replace("\\","/",base_decode($_GET[$qsm]))),array("../"=>"","./"=>"",$homeserver=>""," "=>""));
$titolo "PADS: PHP's Apache Directory Simulator";
$parent false;

if(empty(
$cwd)){ $cmd "/*"$titolo "Index Of /"; }else{ $cmd $cwd."/*"$titolo "Index Of /".$cwd$parent true; }
//echo "<fieldset style=\"width:39%\"><legend>DEBUG</legend>CWD: ".$cwd."<br />CMD: ".$cmd."<br />HOMESERV: ".$homeserver."<br />HOME.CWD: ".$homeserver.$cwd."<br />GET: ".$_GET[$qsm]."</fieldset>";

if(!file_exists($homeserver.$cwd)){ exit("Attenzione, directory non trovata!"); }
$expparent = @explode($cwd,$homeserver.$cwd);
$parentdirectory "?".$qsm."=".base64_encode($expparent[0]);

$glob glob($homeserver.ltrim($cmd,"/"));
if(!
$glob){ exit("Si è verificato un errore durante la lettura delle directory."); }

function 
File2Icon($filename){ global $servericons$exticons$expic explode(".",basename($filename)); $icona $servericons.$expic[1].".".$exticons; if(file_exists($icona)){ return $icona;
}else{ return 
$servericons."generic.".$exticons; }}
function 
PADS(){ global $homeserver$servericons$qsm$cmd$glob$cwd$nodirfil;

foreach(
$glob as $filegen){

if(
is_dir($filegen)){ $size "-"$icon $servericons."dir.gif"$alticon "DIR"$href "?".$qsm."=".base64_encode($filegen); }else{ clearstatcache(); $size filesize($filegen); if($size 1000000){
$size ceil($size/1024). " KB"; }else{ $size round(($size/1024)/1024,1)." MB"; } $icon File2Icon($filegen); $alticon "ICO"$href $cwd."/".basename($filegen); }

if(!
in_array(basename($filegen),$nodirfil)){
echo 
'<tr><td valign="top"><img src="'.$icon.'" alt="['.$alticon.']" /></td><td><a href="'.$href.'">'.basename($filegen).'</a></td><td align="right">'.date("d-M-Y H:i",filemtime($filegen)).'</td>';
echo 
'<td align="right">'.$size.'</td></tr>';
}}} 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $titolo?></title>
<style type="text/css">
a:link, a:visited{
    color:#0000FF;
    text-decoration:none;
}
a:hover{
    color:#FF0000;
    text-decoration:underline;
}
h1{
    margin-bottom:0px;
    margin-top:0px;
}
#serversignature{
    font-family:Georgia, "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size:10pt;
}
</style>
<!-- PHP's Apache Directory Simulator by Miki92 -->
</head>

<body>
<h1><?php echo $titolo?></h1>
<table><tr><th><img src="<?php echo $servericons?>blank.gif" alt="[ICO]" /></th><th>Nome File</th><th>Ultima modifica</th><th>Dimensione</th></tr><tr><th colspan="5">
<hr /></th></tr>
<?php if($parent){ ?><tr><td valign="top"><img src="<?php echo $servericons?>back.gif" alt="[DIR]" /></td>
<td><a href="<?php echo $parentdirectory?>">Torna Indietro</a></td><td>&nbsp;</td><td align="right"> - </td></tr>
<?php PADS(); ?>
<tr><th colspan="5"><hr /></th></tr></table>
<span id="serversignature"><?php echo $serversignature?></span>
</body>

</html>

Attualmente lo script simula al buon 90% la mod_autoindex di Apache, ciò che manca è poco e verrà aggiunto nella prossima versione dello script pertanto vi consigliamo di iscrivervi ai nostri feed rss oppure di tornare periodicamente su questa pagina. Nella prossima release si prevede che sarà possibile personalizzare lo script in modo maggiorato ad esempio potendo far scegliere all'utente che visualizza lo script come ordinare i file (elenco by: nome, data ultima modifica, dimensione file/cartelle).
Visita questa pagina per capire come personalizzare questo script o per ricevere qualche idea su come utilizzarlo.

Anteprima Demo Script - Visualizza la demo dello script.
Anteprima Demo Script con PADS School MOD - Esempio funzionante, con una MOD per la scuola.