Problema nella creazione di un'area protetta

  • Creatore Discussione Creatore Discussione ghio
  • Data di inizio Data di inizio

ghio

Nuovo Utente
27 Ago 2012
8
0
0
Roma
Ciao a tutti!
Sono nuovo del forum e anche nella programmazione php (lo ammetto candidamente, non so scrivere il codice, anche se mi riprometto di mettermi a studiarlo quanto prima). Gestisco il sito della mia scuola e devo creare un'area protetta ove solo i docenti possano accedere per leggere le circolari e trovare materiale utile per la didattica. La necessità di sicurezza non è quindi di altissimo livello.
Il sito è su server Aruba con Hosting windows base (senza possibilità di database mysql ma solo mdb access). Essendo digiuno di codice ho realizzato il sito con dreamweaver cs5.
Lo so, apparirò come un caso disperato, ma cercando e ricercando nel web mi sono fortunatamente imbattuto in voi, ed in particolare nellla discussione http://forum.mrwebmaster.it/php/28866-creazione-pagina-area-protetta.html.
Visto che essa mi sembrava ricalcasse esattamente o quasi i miei stessi problemi ho provato a seguire passo passo le indicazioni date da BorgoItalia (che ringrazio), ma nonostante ciò devo aver sbagliato qualcosa perchè ho ancora dei problemi:

1- l'accesso all'area funziona con ie ma non con firefox (con quest'ultimo non si muove da index.php)
2- Non riesco ad accedere alle altre pagine che ho cercato di creare nell'area riservata (se clicco sul link mi rimanda a index.php)

Allego i file e spero che qualcuno possa aiutarmi correggendo i miei errori. Grazie!
Vedi l'allegato area protetta.zip
 
Dato che è borgo a manutenere quello script, lascio che sia lui a risolvere il problema, ma avendo bisogno di un'area ad altissimo livello di sicurezza:

  • avreste dovuto scegliere un altro hosting;
  • avreste dovuto affidarvi a un professionista;
Infine, se il contenuto del portale riservato sarà davvero quello, allora "altissimo livello di sicurezza" è una grossa esagerazione. Direi che la definizione adatta è: "qualcosa a cui non si possa accedere senza credenziali".
 
Ultima modifica:
Alessandro1997, temo ti sia sfuggito un "non" nel mio post: la mia esigenza non è di avere un'area totalmente inviolabile ed inaccessibile ai non autorizzati, ma solo di avere una parte del sito, diciamo così, con un poi' di privacy. Rivolgersi ad un professionista sarebbe certo l'ideale, ma la scuola ha rimediato a malapena i fondi per pagare l'hosting, il resto è stato affidato alla buona volontà del sottoscritto, per quanto incapace di fare tante cose.
Grazie comunque!
 
Ultima modifica:
ciao
devi sempre trasmettere in ogni link delle riservate la querystringa
PHP:
<?php
//questa parte devi metterela in tutte le pagine riservate
session_start();
if (!isset($_SESSION['p']) || !isset($_SESSION['user']) || $_SESSION['p'] != $_GET['r']) {
    //questo vuol dire che è stato tentato un accesso diretto tipo http://www.mio_sito.it/private.php
    $_SESSION=array();//in caso di accesso diretto (abuso) distruggo le sessioni e rimando alla index
    header('Location: index.php');
    exit();
}
?>

edit

1- l'accesso all'area funziona con ie ma non con firefox (con quest'ultimo non si muove da index.php)

scusa questa non la capisco
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php echo "pagina di ".$_SESSION['user']; ?></title>
<style type="text/css">
body {
	background-color: #CCF;
}
</style>
</head>
<body>
<h2>Benvenuto <?php echo $_SESSION['user'];?></h2>
<!--
poi quando fai il menu di navigazione tra le pagine devi mettere la querystringa per la verifica della sessione con quantto trasmesso
-->
<p><a href="prima_riservata.php?r=<?php echo $_SESSION['p']; ?>">prima</a></p>
<p><a href="seconda_riservata.php?r=<?php echo $_SESSION['p']; ?>">seconda</a></p>
<p><a href="terza_riservata.php?r=<?php echo $_SESSION['p']; ?>">terza</a></p>
<!-- ecc......-->
<p><a href="index.php">esci</a></p>
</body>
</html>
edit
1- l'accesso all'area funziona con ie ma non con firefox (con quest'ultimo non si muove da index.php)
scusa ma questa non la capisco
 
Ultima modifica:
Grazie mille! Ora i link funzionano e ho capito cosa avevo omesso!
Resta il problema di firefox... Lo so, è strano, ma da ie9 funziona tutto, in firefox il link per login3_php non funziona!:(
 
ecco il codice della index..

PHP:
<?php
session_start();
$_SESSION['p'] = sha1(uniqid(mt_rand()));//genero e codifico un numero casuale
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Home</title>
    <style type="text/css">
    body,td,th {
	font-family: Georgia, "Times New Roman", Times, serif;
}
body {
	background-image: url();
	background-color: #C9F;
}
    </style>
    </head>
    <body>
        <!-- bla... bla... bla... -->
		<!-- trasmetto la sessione ricodificata tramite GET per accedere alla pagina/e riservata/e-->
		<p>Si ricorda ancora una volta che quest'area riservata &egrave; riservata ai soli docenti dell'I.C. Giovanni Paolo II.</p>
		<p>I docenti che ancora non fossero in possesso della loro password personale di accesso possono richiederla al <a href="mailto:[email protected]">webmaster</a> inviandogli una mail di richiesta indicando  nome, cognome, luogo e data di nascita e plesso di insegnamento.</p>
		<p><a href="login_3.php?p=<?php echo md5($_SESSION['p']); ?>">Accedi all'area riservata</a></p>
    </body>
</html>
 
Ultima modifica di un moderatore:
Ciao!
Sei un mito, hai beccato il problema al primo tentativo: ho cancellato la riga dell'immagine dal codice e ora funziona tutto a meraviglia sia in ie che in firefox. :)
Grazie mille!!!!
 
Alessandro1997, temo ti sia sfuggito un "non" nel mio post: la mia esigenza non è di avere un'area totalmente inviolabile ed inaccessibile ai non autorizzati, ma solo di avere una parte del sito, diciamo così, con un poi' di privacy. Rivolgersi ad un professionista sarebbe certo l'ideale, ma la scuola ha rimediato a malapena i fondi per pagare l'hosting, il resto è stato affidato alla buona volontà del sottoscritto, per quanto incapace di fare tante cose.
Grazie comunque!
Dev'essere l'Alzheimer. Pardon. :hammer:
 

Discussioni simili