HighDots Forums  

[Segnalo articolo] JavaScript Triggers,by Peter-Paul Koch

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss [Segnalo articolo] JavaScript Triggers,by Peter-Paul Koch in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #31  
Old   
Alessandro Fulciniti
 
Posts: n/a

Default Re: ot - php template - 02-11-2005 , 11:49 AM






ZER0 wrote:

Quote:
Tu vuoi verificare che il sia un file, senza estensione. Allora, per
semplificare, puoi controllare che il parametro sia composto unicamente da
una serie di caratteri di tua scelta.

Ad esempio:

$p=$_GET['page'];

if (isset($p)){
if (!preg_match("/^[A-Za-z0-9\-_]+$/", $p)) {
die("Bel tentativo.");
}
}else{
die("Occorre specificare la pagina come parametro.");
}

In questo modo verifica che $p sia settato, e che sia esattamente una
sequenza di caratteri alfanumerici, maiuscoli o minuscoli, includendo anche
il trattino e l'underscore.
Grazie Zero. In effetti un test č senz'altro meglio di un'assegnazione. A questo punto posso solo
filtrare il parametro, evitando di usare basename, che ho letto dia dei problemi su certe versioni
di php, e potrebbe dare problemi su inclusioni di file su altri siti ma che risiedono sullo stesso
server (hard disk). Il codice che ho scritto sopra diventerebbe:

<? include("header.php");
include("menu.php");
$p="main"; //pagina di default per i contenuti centrali
if(isset($_GET['page'])){ //pagina passata via parametro
$p=$_GET['page'];
if(!preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
$p="error"; //pagina di errore
}
include($p.".php");
include("footer.php"); ?>

Cosė dovrebbe andare. Grazie ancora,
Alessandro




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.