PDA

View Full Version : Lista file su Apache con permessi .htaccess


enzo85
09-09-2007, 22:42
Ho una serie di file excel da pubblicare su hosting linux aruba (apache).
La cartella dove stanno questi file è protetta da password tramite il file .htaccess AuthType Basic
AuthName "Private Area for Access Staff only"
AuthUserFile /web/htdocs/www.remcremona2007.com/home/Private/.htpasswd
require valid-user
e il file .htpasswd
In questa cartella "Private" (com cmod 777) volevo visualizzare la lista dei file come nella visualizazione dell'ftp...
Qualcuno sa che codici devo inserire nell'.htaccess? E' possibile?
Centra qualcosa il FancyIndexing?

enzo85
09-09-2007, 23:19
Ho risolto il problema...aruba non accetta le clausole options nell'.htaccess.
Pongo un'altra domanda: è possible modificare tramite browser (magari entrando da ftp) un file excel?

cionci
10-09-2007, 07:56
Pongo un'altra domanda: è possible modificare tramite browser (magari entrando da ftp) un file excel?
Lo devi scaricare, modificare e riuploadare.
Certi client FTP lo fanno in automatico, clicki con il sinistro sul file, selezioni modifica, e se si accorgono che il file è stato modificato lo rimettono sul server.
Uno di questi mi sembra sia FileZilla, un plugin per Firefox.

In alternativa per fare il directory browsing è prendere uno degli script php già fatti per implementare il directory browsing e lo metti come index.php

enzo85
19-09-2007, 09:34
In alternativa per fare il directory browsing è prendere uno degli script php già fatti per implementare il directory browsing e lo metti come index.php
Ecco, mi interesserebbe proprio questo...sai come si fa o dove posso trovare questo codice?
Grazie mille!!!

cionci
19-09-2007, 09:49
Questo è un semplice file php che visualizza la lista dei file in una directory e ne permette il download. Mettilo in un file chiamato index.php, magari mettilo nel mezzo a del codice html che fa vedere l'header del tuo sito ;)

<?php
$files = array();
$dir=opendir("./");
while(($file = readdir($dir)) !== false)
{
if($file !== '.' && $file !== '..' && !is_dir($file))
{
$files[] = $file;
}
}
closedir($dir);
natcasesort($files);
echo "<ul>\n";
for($i=0; $i<count($files); $i++)
{
if($files[$i] != "index.php")
echo "<li><a href=\"".$files[$i]."\">".$files[$i]."</a></li>\n";
}
echo "</ul>\n";
?>

cionci
19-09-2007, 09:54
Quello che ti ho messo è qualcosa di minimale...ce ne sono anche altri più complessi.
Magari quello sopra è di più facile integrazione nel tuo sito ;)

enzo85
19-09-2007, 10:26
Grandissimo!!!!!!!!!!!
GRAZIEEEE!!!!!!!!!!!!

cionci
19-09-2007, 10:28
Verifica che non siano visualizzabili .htaccess e .htpasswd. Se si vedono ti modifico lo script per non farli vedere.

enzo85
19-09-2007, 10:42
Verifica che non siano visualizzabili .htaccess e .htpasswd. Se si vedono ti modifico lo script per non farli vedere.
Si vedono...ma non preoccuparti, fa lo stesso!
Sei un grande!

cionci
19-09-2007, 10:44
Ecco qua, ci vuole veramente poco ;)
<?php
$files = array();
$dir=opendir("./");
while(($file = readdir($dir)) !== false)
{
if($file !== '.' && $file !== '..' && $file !== '.htpasswd' && $file !== '.htaccess' && !is_dir($file))
{
$files[] = $file;
}
}
closedir($dir);
natcasesort($files);
echo "<ul>\n";
for($i=0; $i<count($files); $i++)
{
if($files[$i] != "index.php")
echo "<li><a href=\"".$files[$i]."\">".$files[$i]."</a></li>\n";
}
echo "</ul>\n";
?>

cionci
19-09-2007, 10:47
Se vuoi modificare l'aspetto ti basta modificare la parte del codice nelle echo:

echo "<ul>\n";
for($i=0; $i<count($files); $i++)
{
if($files[$i] != "index.php")
echo "<li><a href=\"".$files[$i]."\">".$files[$i]."</a></li>\n";
}
echo "</ul>\n"

In pratica qui ti genera una lista puntata. Se ad esempio vuoi aggiungere una classe CSS al link basta aggiungerne il codice html:

echo "<li><a href=\"".$files[$i]."\" class=\"miaclasse\">".$files[$i]."</a></li>\n";

L'importante è tenere conto cheogni volta che aggiungi del codice in una echo i doppi apici devono essere anticipati da un backsladh (\).

enzo85
19-09-2007, 10:50
E perfetto!!!
Fantastico...
Poi visto che conosci così bene il php, più avanti dovrò chiederti un'altra velocissima consulenza!
Grazie ancora!!!!!!
Ciaoo!!