Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema autoindex PADS miki92

  1. #1
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    168

    Predefinito Problema autoindex PADS miki92

    ciao,
    Ho un problema con l'autoindex di miki92, praticamente come si evince qui cliccando su un file non lo apre perché non prende bene il percorso, il codice che uso è il seguente:

    Codice PHP:
    <?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']." PHP/".phpversion()." Server at ".$_SERVER['SERVER_NAME']." Port ".$_SERVER['SERVER_PORT'];
    // versione apache+ip+indirizzo+porta specificati a mano, decomentare sotto
    // $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 = "http://gutguy2.altervista.org/autoindex/icons/"; // Path di dove sono collocate le icone da utilizzare
    $exticons = "gif"; // Estensione delle icone
    $nodirfil = array(basename($_SERVER['PHP_SELF']),"Thumbs.db","icons","index.old"); // Array con le directory / files da non indicizzare

    // <-- Fine Configurazione Script

    $cwd = strtr(strip_tags(str_replace("\\","/",$_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."=".$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."=".$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 content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />

    <title>&lt;?php echo $titolo; ?&gt;</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>
    come posso fare?

    grz a chi risponderà
    Ultima modifica di gutguy2 : 30-07-2015 alle ore 15.05.57

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ciao.
    Purtroppo utilizzi una vecchia versione e quindi ci sono diversi bug che poi non corressi più per mancanza di tempo. Nel prossimo mese uscirà la versione nuova di PADS la quale è migliore delle sue due versioni precedenti.

    Nel frattempo ti ho corretto il codice adattandolo alle tue esigenze:
    Codice PHP:
    <?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']." PHP/".phpversion()." Server at ".$_SERVER['SERVER_NAME']." Port ".$_SERVER['SERVER_PORT'];
    // versione apache+ip+indirizzo+porta specificati a mano, decomentare sotto
    // $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 = "http://gutguy2.altervista.org/autoindex/icons/"; // Path di dove sono collocate le icone da utilizzare
    $exticons = "gif"; // Estensione delle icone
    $subroot = "/flash"; // Fix per le URL (risolto in versione 3 disponibile dal 15 agosto 2015) in caso di uso in directory diversa da root sito
    $nodirfil = array(basename($_SERVER['PHP_SELF']),"Thumbs.db","icons","index.old"); // Array con le directory / files da non indicizzare

    // <-- Fine Configurazione Script

    $cwd = strtr(strip_tags(str_replace("\\","/",$_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."=".$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, $subroot, $parent;

    foreach(
    $glob as $filegen){

    if(
    is_dir($filegen)){ $size = "-"; $icon = $servericons."dir.gif"; $alticon = "DIR"; $href = "?".$qsm."=".$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 = $parent ? "".$cwd."/".basename($filegen) : $subroot."/".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 content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />

    <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>
    Ultima modifica di miki92 : 30-07-2015 alle ore 15.56.14
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    168

    Predefinito

    grazie mille per la tua risposta

  4. #4
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    168

    Predefinito

    $subroot = "/cartella"; // Fix per le URL (risolto in versione 3 disponibile dal 15 agosto 2015) in caso di uso in directory diversa da root sito (es. /cartella)
    ciao miki,
    è disponibile la nuova versione ora (come da commento nel codice che mi avevi gentilmente corretto)?

    grz ancora

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    No. Purtroppo ci sono stati ritardi causa motivi di salute.
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    168

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    No. Purtroppo ci sono stati ritardi causa motivi di salute.
    allora scusami, non sapevo, riprendeti presto!

  7. #7
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    168

    Predefinito

    ciao,
    ti chiedevo se si poteva aggiungere una funzione per scaricare i file visualizzati, perché se faccio tasto dx salva con nome naturalmente non mi salva la sorgente della pagina ma la sua visualizzazione per cui capita che non vedo il codice php originale, ti chiedevo anche se avevi poi fatto la nuova versioene, grazie mile per tutto

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •