Rispondi 
 
Valutazione discussione:
  • 1 voti - 5 media
  • 1
  • 2
  • 3
  • 4
  • 5
Privatizzazione con password
04-03-2009, 17:37
Messaggio: #1
Privatizzazione con password
Ciao a tutti, ciao MAttia!!
Ho un problemino...praticamente ho creato una pagina privata.php dove ho delle info personali...per fare in modo che alla pagina possano accedere solo persone autorizzata l'ho collegata ad una pagina passw.htm in questo modo:
Codice:
<?php
if ($_POST['password']!="password") {
    header("Location: passw.htm");
    exit();
}
?>
mentre nella pagina passw.htm ho messo questo form:
Codice:
<form method="post" action="privata.php">
  <p><span class="testo">Password: </span>
  <input type="password" name="password" size="20"><br>
&nbsp;<input type="submit" value="Invia"></p>
</form>
e fin qui tutto funziona correttamente...

Adesso, visto che dentro privata.php ci sono i link alle pagine 1.htm, 2.htm e 3.htm come faccio a rendere private anche queste pagine??
Se io provassi ad entrare direttamente nella pagina 1.htm (o 2.htm o 3.htm) senza passare da privata.php mi fa entrare tranquillamente, e invece vorrei che ci fosse un controllo che verifichi che sia passato PRIMA da privata e abbia inserito la passw ...
Non so se sono stato chiaro...spero di si Smile

Saluti
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
04-03-2009, 20:02
Messaggio: #2
RE: Privatizzazione con password
Per prima cosa devi trasformare tutte le pagine che vuoi che siano protette da password da HTML a PHP.
Poi per verificare che un utente sia loggato puoi utilizzare i cookie o le sessioni. Io ti consiglio le sessioni perché sono più sicure. Entrambi sono delle variabili che sono valide su più pagine. L'unica differenza è che i cookie stanno sul computer dell'utente e le sessioni sul server. Quindi i cookie hanno una durata che può essere assegnata dal programmatore ma possono essere modificati e cancellati dall'utente sul proprio computer. Le sessioni durano fino a quando l'utente non chiude il browser e non possono essere modificate dall'utente.
Per prima cosa devi aggiungere all'inizio di tutte le pagine la funzione session_start che serve a far capire al server che si vogliono utilizzare le sessioni:
Codice:
session_start();

Nella pagina che fa il login devi assegnare la sessione:
Codice:
<?php
session_start();
if ($_POST['password']!="password") {
    header("Location: passw.htm");
    exit();
}
$_SESSION['login'] = "pippo";
?>

Nelle pagine in cui vuoi controllare che l'utente sia collegato puoi mettere all'inizio:
Codice:
<?php
session_start();
if(!isset($_SESSION['login']) || $_SESSION['login']!="pippo"){
    header("Location: passw.htm");
    exit();
}
?>

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
04-03-2009, 20:10
Messaggio: #3
RE: Privatizzazione con password
ok, ora faccio la prova ma se su $_POST setto la 'password', ne setto un'altra su $_SESSION??
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
05-03-2009, 00:04
Messaggio: #4
RE: Privatizzazione con password
Alla sessione puoi assegnare qualsiasi valore che vuoi. Serve solo a verificare che sia integra.

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
06-03-2009, 14:40
Messaggio: #5
RE: Privatizzazione con password
PERFETTO!! Funziona!!

Grazie mille, mi sei stato di grande aiuto come al solito...

Saluti
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
28-10-2009, 19:07 (Questo messaggio è stato modificato l'ultima volta il: 28-10-2009 19:09 da Chandler.)
Messaggio: #6
RE: Privatizzazione con password
Ciao Mattia!! Altra informazione... se in ognuna di queste pagine col contenuto (1.php, 2.php, 3.php etc..) provo a cliccare su INDIETRO dal browser (IE7 per la cronaca) mi da "Webpage has expired"...allora ho provato a mettere un "back" dentro a ogni pagina che mi riporta in private.php...solo che quando ci clicco mi richiede la password, ora sicuramente è più sicuro ma ad un certo punto diventa scocciante...quindi potrei evitare questi 2 intoppi?? Quindi cliccando su INDIETRO del browser o su BACK di ogni pagina mi porta direttamente alla pagina private.php senza che mi chieda nuovament la pass di accesso??

Saluti
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
28-10-2009, 19:32
Messaggio: #7
RE: Privatizzazione con password
Potresti modificare il file "passw.htm" come pagina PHP (naturalmente dovrai modificare tutti i redirect che hai messo nelle altre pagine) e mettere all'inizio:
Codice PHP:
<?php
session_start
();
if(isset(
$_SESSION['login']) && $_SESSION['login']=="pippo"){
    
header("Location: private.php");
    exit();
}
?>

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
28-10-2009, 20:24 (Questo messaggio è stato modificato l'ultima volta il: 28-10-2009 20:25 da Chandler.)
Messaggio: #8
RE: Privatizzazione con password
La procedura sembra giusta ma c'è qualcosa che nn va... adesso sia su private.php che passw.php mi da questo errore:
Internet Explorer cannot display the webpage

cosa potrebbe esserci di sbagliato??

p.s. ho correto tutti i rideirect con l'estensione .php
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
29-10-2009, 08:54 (Questo messaggio è stato modificato l'ultima volta il: 29-10-2009 08:55 da Mattia.)
Messaggio: #9
RE: Privatizzazione con password
Hai provato ad accedere alle pagine con un altro browser (magari Firefox) e vedere se ti dà lo stesso errore?

P.S.: Aggiorna Internet Explorer alla versione 8! smilie smilie smilie

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
29-10-2009, 20:51
Messaggio: #10
RE: Privatizzazione con password
Ho provato anche con firefox (ultima versione) e mi da questo errore:
Questa pagina non redireziona in modo corretto













Firefox ha rilevato che il server sta redirezionando la richiesta per questo indirizzo in modo che non possa mai essere completata.








* Questo problema spesso è causato dal blocco o dal rifiuto dei cookie.

Saluti

p.s. IE8 è meglio?? E' più pesante?? o potrei lasciare il 7?
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
30-10-2009, 00:51
Messaggio: #11
RE: Privatizzazione con password
Praticamente il problema è che continua a fare redirect all'infinito.
Forse mi sono perso qualcosa. Mi potresti scrivere il codice completo di "private.php" e di "passwd.php"?

P.S.: Sicuramente Internet Explorer 8 è meglio di Internet Explorer 7 perché segue meglio gli standard del Web, ha qualche funzionalità in più, è più veloce a eseguire JavaScript e non è più pesante.

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
30-10-2009, 02:36
Messaggio: #12
RE: Privatizzazione con password
Allora, in private.php l'unica parte in php è questa (che sta all'inizio):
Codice:
<?php
session_start();
if ($_POST['password']!="pippo") {
    header("Location: passw.php");
    exit();
}
$_SESSION['login'] = "pippo";
?>
Il resto è tutto html!!

Nella pagina passw.php invece è così:
Codice:
<?php
session_start();
if(isset($_SESSION['login']) && $_SESSION['login']=="pippo"){
    header("Location: private.php");
    exit();
}
?><html>
<head><LINK
href="input.css" type=text/css rel=stylesheet></head>
<form method="post" action="private.php">
  <p><span class="testo">Inserisci Password: </span>
  <input type="password" name="password" size="20"><br>
&nbsp;<input type="submit" value="Invia"></p>
</form></html>

Al massimo se ti affacci su messenger ti do il link alla pagina e la passw
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
30-10-2009, 08:50 (Questo messaggio è stato modificato l'ultima volta il: 30-10-2009 08:50 da Mattia.)
Messaggio: #13
RE: Privatizzazione con password
Modifica "private.php" in questo modo:
Codice PHP:
<?php
session_start
();
if((!isset(
$_POST['password']) || $_POST['password']!="pippo") && (!isset($_SESSION['login']) || $_SESSION['login']!="pippo")){
    
header("Location: passw.php");
    exit();
}
$_SESSION['login'] = "pippo";
?>

Mattia!
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
30-10-2009, 16:44
Messaggio: #14
RE: Privatizzazione con password
perfect!! Adesso funziona alla grande!!

Grazie mille mattia! smilie
Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum:


Utente(i) che stanno guardando questa discussione: 1 Ospite(i)

Contattaci | Matriz | Torna all'inizio della pagina | Torna al contenuto | Modalità archivio | RSS Syndication