bloccare directory superiore ad uno script.

luigi777

Utente Attivo
14 Feb 2008
1.085
1
38
39
Massa, Italy
Salve, vorrei modificare questo script che vi allego ..
vorrei di dirgli di non andare in su..esempio:

.. <-- qua non ci deve andare..
/
pages
template
css

vi posto il codice:
lo preso da qua: http://tomicki.net/dir.php

PHP:
<?php
/*															*/
/* File: dir.php											*/
/* (c) 2004 by £ukasz Tomicki <tomicki(at)o2(dot)pl> 		*/
/* Most recent version available @ : http://tomicki.net/	*/
/* Version: 0.8    											*/
/*
/*  This program is free software; you can redistribute it and/or modify
/*  it under the terms of the GNU General Public License as published by
/*  the Free Software Foundation; either version 2 of the License, or
/*  (at your option) any later version.
/*
/*  This program is distributed in the hope that it will be useful,
/*  but WITHOUT ANY WARRANTY; without even the implied warranty of
/*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
/*  GNU Library General Public License for more details.
/*
/*  You should have received a copy of the GNU General Public License
/*  along with this program; if not, write to the Free Software
/*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/*															*/

?>
<style TYPE="text/css">
<!--

* { font-family: courier new; font-size: 10pt;
}

A { text-decoration: none;
}

A:HOVER { text-decoration: underline;
}

-->
</style>
<pre>
<?php

function sortRows($data)
{
	$size = count($data);

	for ($i = 0; $i < $size; ++$i) {
		$row_num = findSmallest($i, $size, $data);
		$tmp = $data[$row_num];
		$data[$row_num] = $data[$i];
		$data[$i] = $tmp;
	}

	return ( $data );
}

function findSmallest($i, $end, $data)
{
	$min['pos'] = $i;
	$min['value'] = $data[$i]['data'];
	$min['dir'] = $data[$i]['dir'];
	for (; $i < $end; ++$i) {
		if ($data[$i]['dir']) {
			if ($min['dir']) {
				if ($data[$i]['data'] < $min['value']) {
					$min['value'] = $data[$i]['data'];
					$min['dir'] = $data[$i]['dir'];
					$min['pos'] = $i;
				}
			} else {
				$min['value'] = $data[$i]['data'];
				$min['dir'] = $data[$i]['dir'];
				$min['pos'] = $i;
			}
		} else {
			if (!$min['dir'] && $data[$i]['data'] < $min['value']) {
				$min['value'] = $data[$i]['data'];
				$min['dir'] = $data[$i]['dir'];
				$min['pos'] = $i;
			}
		}
	}
	return ( $min['pos'] );
}

	$self = $_SERVER['PHP_SELF'];
	if (isset($_GET['dir'])) {
		$dir = $_GET['dir'];
		$size = strlen($dir);
		while ($dir[$size - 1] == '/') {
			$dir = substr($dir, 0, $size - 1);
			$size = strlen($dir);
		}
	} else {
		$dir = $_SERVER["SCRIPT_FILENAME"];
		$size = strlen($dir);
		while ($dir[$size - 1] != '/') {
			$dir = substr($dir, 0, $size - 1);
			$size = strlen($dir);
		}
		$dir = substr($dir, 0, $size - 1);
	}

	echo "DIR : ", $dir;
	echo "\n\n";
	if (is_dir($dir)) {
		if ($handle = opendir($dir)) {
			$size_document_root = strlen($_SERVER['DOCUMENT_ROOT']);
			$pos = strrpos($dir, "/");
			$topdir = substr($dir, 0, $pos + 1);
			$i = 0;
  	  		while (false !== ($file = readdir($handle))) {
        		if ($file != "." && $file != "..") {
					$rows[$i]['data'] = $file;
					$rows[$i]['dir'] = is_dir($dir . "/" . $file);
					$i++;
				}
			}
    		closedir($handle);
		}

		$size = count($rows);
		$rows = sortRows($rows);
		echo "<table style=\"white-space:pre;\">";
		echo "<tr>";
		echo "<td>[UP]";
		echo "</td>";
		echo "<td>    ";
		echo "<a href='", $self, "?dir=", $topdir, "'>..</a>\n";
		echo "</td>";
		echo "<td>size (bytes)";
		echo "</td>";
		echo "<td>    ";
		echo "</td>";
		echo "</tr>";
		for ($i = 0; $i < $size; ++$i) {
			$topdir = $dir . "/" . $rows[$i]['data'];
			echo "<tr>";
			echo "<td>";
			if ($rows[$i]['dir']) {
				echo "[DIR]";
				$file_type = "dir";
			} else {
				echo "[FILE]";
				$file_type = "file";
			}
			echo "</td>";
			echo "<td>    ";
        	echo "<a href='", $self, "?dir=", $topdir, "'>", $rows[$i]['data'], "</a>\n";
			echo "</td>";
            echo "<td>";
            echo filesize($topdir);
            echo "</td>";
			echo "<td>    ";
          	echo "<a href='", substr($topdir, $size_document_root,  strlen($topdir) - $size_document_root), "'>open ", $file_type, "</a>\n";
			echo "</td>";
			echo "</tr>";
        }
		echo "</table>";
	} else if (is_file($dir)) {
		$pos = strrpos($dir, "/");
		$topdir = substr($dir, 0, $pos);
		echo "<a href='", $self, "?dir=", $topdir, "'>", $topdir, "</a>\n\n";
		$file = file($dir);
		$size = count($file);
		for ($i = 0; $i < $size; ++$i)
			echo htmlentities($file[$i], ENT_QUOTES);
	} else {
		echo "bad file or unable to open";
	}

?>
</pre>
Mi date una mano per risolvere il piccolo problema?
grazie mille.
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Bloccare utente tramite indirizzo IP PHP 3
T come bloccare indirizzi ip Reti LAN e Wireless 2
P Bloccare connessione internet per gli emulatori in android studio Sviluppo app per Android 2
M [PHP] Bloccare richieste indesiderate cURL PHP 12
A [PHP] Bloccare ridimensionamento tabella PHP 1
giancadeejay Bloccare utente se non loggato con script php PHP 12
Shyson Bloccare email spam PHP 0
MarcoGrazia [htaccess] Bloccare tutti meno il proprio sito Apache 0
V bloccare un utente PHP 2
Gabriele Visioli Normativa sui Cookie e bloccare le Pubblicità/Affiliazioni WordPress 0
filomeni Sito in fase di sviluppo: bloccare tutti gli spider SEO e Posizionamento 5
Monital Bloccare l'accesso ad una cartella sull'ftp PHP 3
E Bloccare click su tabella HTML e CSS 2
I Bloccare registrazione Javascript 1
filippino Software per bloccare pubblicità su Internet Windows e Software 1
T Non bloccare accelerometro quando dispositivo va in standby Sviluppo app per Android 2
G bloccare file php PHP 6
R bloccare click continuo annunci PHP 2
valient13 bloccare le formazioni tramite il tempo PHP 6
C bloccare indicizzazione sottodominio SEO e Posizionamento 1
L bloccare l'accesso pagine php diretto PHP 6
neo996sps [PHP + MySQL] Se faccio F5 inserisce nuovo record. Come bloccare? PHP 7
G Bloccare sfondo HTML e CSS 10
D Bloccare le news della home a tre!!! PHP 2
borgo italia outlook: impossibile bloccare indirizzo di posta Windows e Software 5
F come bloccare un IP sul vs. Forum Supporto Mr.Webmaster 0
B bloccare parole non consentite PHP 5
G bloccare la digitazione parole troppo lunghe Javascript 5
A bloccare salvataggio dell'immagine Sicurezza e Virus 3
M bloccare celle di un foglio excel e proteggerlo via codice Classic ASP 2
P nascondere o bloccare un file Windows e Software 1
S frontpage bloccare pagina nel browser HTML e CSS 2
grottafelix Bloccare l'accesso ad un utente che non ha questo IP Classic ASP 2
sbobby Bloccare l'hotlinking!! HTML e CSS 20
P Bloccare PROXY Web Server 0
shee bloccare campo di testo HTML e CSS 4
cerbero Bloccare il dl delle immagini HTML e CSS 7
G Bloccare l'esecuzione di una funzione Javascript 2
S bloccare dimensione tabelle frontpage2000 HTML e CSS 4
M Per bloccare gli Ip indesiderati su php - nuke PHP 0
R Problema con FP 2003: bloccare scorrimento menu HTML e CSS 4
H Click destro da bloccare HTML e CSS 10
P Bloccare l'accesso con ID E PWD HTML e CSS 9
T Fpdf salvataggio su directory protetta PHP 0
R Download file multipli da directory php PHP 0
R Invio mail con allegati da directory PHP 1
R Cercare un file all'interno della directory virtuale IIS PHP 3
O file esistente in directory Java 2
T Dubbio su costante ROOT, che rappresenti la base directory del sito PHP 4
G Passare path directory in POST PHP 2

Discussioni simili