Protezione cartella

fedemarkez

Nuovo Utente
17 Gen 2006
20
0
0
E' possibile proteggere un intera cartella di un sito con "user" e "password" senza dover utilizzare un file .httaccess?
Se si come?

PS:la cartella che devo proteggere contiene file php
 
lukeonweb ha scritto:
alludi al tuo computer o ad un server remoto? windows o linux? ma vuoi farlo via codice con php???

Alludo ad una cartella di un mio sito web... in poke parole se un utente dovesse accedere a quella cartella (che contiene gia file php) gli si dovrebbe chiedere user e password.
E' hostato su windows.
Vorrei farlo nella maniera piu semplice....

Idee o suggerimenti?
 
Temo che per un'intera cartella non si possa fare senza htaccess ma puoi usare uno script in php per proteggere le singole pagine.
Oppure se il problema è quello di creare il file htaccess puoi usare uno script php che lo crei e aggiorni automaticamente da comoda interfaccia web.
:byebye:
 
coccobil ha scritto:
Temo che per un'intera cartella non si possa fare senza htaccess ma puoi usare uno script in php per proteggere le singole pagine.
Oppure se il problema è quello di creare il file htaccess puoi usare uno script php che lo crei e aggiorni automaticamente da comoda interfaccia web.
:byebye:

se volessi proteggere solo il file index come dovrei fare? Puoi postarmi il modo piu semplice con i passaggi e il codice da applicare? grazie!!!
 
Ultima modifica:
Il problema è che se proteggi solo una pagina chiunque può leggere le successive che non sono protette.
Pertanto è meglio proteggerle tutte, del resto è veloce.
Che tipo di protezione vorresti?
Con un database che registri una coppia user-password o una protezione più semplice con una password residente nel file stesso di protezione?
 
fedemarkez ha scritto:
E' possibile proteggere un intera cartella di un sito con "user" e "password" senza dover utilizzare un file .httaccess?
Se si come?

PS:la cartella che devo proteggere contiene file php

Chiedi al tuo provider se offre la funzione di protezione cartella, noi la offriamo e credo che anche altri provider lo fanno ;)
 
Ok prova questo che utilizza i cookie per mantenere memorizzata la password per tutte le pagine.

login.php (pagina di accesso area riservata)

PHP:
<form method="POST" action="redirect.php">
Password <input type="password" name="password">
<input type="submit" value="Login">
</form>

redirect.php (verifica password e setta cookie)

PHP:
<?php
$password = $_POST["password"];
if ($password <> 'QUI LA PASSWORD CHE VUOI UTILIZZARE') {
echo "Non sei autorizzato ad entrare in quest'area";
} else {
setcookie("TEST", "ok", time() + 60 *15);
header("Location: welcome.php");
}
?>

welcome.php (prima pagina protetta)

PHP:
<?php
if (!isset($_COOKIE["TEST"])) { 
 echo "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie"; 
} else {
echo "<p>Qui inserisci il contenuto della pagina protetta. Il cookie ti mantiene la\n";
echo "login valida anche per le altre pagine:<br><a href=\"pagina2.php\">pagina2.php</a>&nbsp;</p>";
} 
?>

pagina2.php (seconda pagina protetta)

PHP:
<?php
if (!isset($_COOKIE["TEST"])) { 
 echo "Non accetti i cookie. Per entrare devi abilitare il browser ad accettare i cookie oppure non sei passato dalla pagina di login"; 
} else { 
echo "<p>Qui inserisci il contenuto della pagina protetta 2.";
} 
?>

e così via per tutte le pagine.

Naturalmente il cookie qui è settato per rimanere valido per 15 minuti ma puoi modificare il valore in redirect.php sostituendo 15 con il numero di minuti che desideri.
Se prevedi di voler eliminare anche manualmente il cookie (per esempio se finisci di consultare l'area privata prima dei minuti di vita dei cookie)predisponi un link a questa paginetta:

delete.php

PHP:
<?php
setcookie("TEST", "", time()-1);
?>

Ultimo suggerimento: visto che devi inserire tutto l'html dentro il php può essere noioso convertire tutto il codice, ebbene ti viene in aiuto un programmino:
HTML to AnyCode Conveter

scaricabile da qui:http://www.exactcom.com/products/htmltoanycodeconverter/
shareware ma acquistabile online alla modica cifra di $ 29.95 :)

Fammi sapere se è tutto ok!

Ciao!!:byebye:
 
E'già...il problema è che non esiste il modo di passare direttamente ad Apache la certificazione...

guarda comunque il modulo request.php di PEAR

C'é una procedura tanto carina che fa...
dacci un'occhiata magari salta fuori qualcosa di interessante!

function setBasicAuth($user, $pass)
{
$this->_user = $user;
$this->_pass = $pass;

$this->addHeader('Authorization', 'Basic ' . base64_encode($user . ':' . $pass));
}
 
No, non lo conosco anche perchè noi dal server offriamo il servizio di protezione cartelle con password e quindi non abbiamo mai avuto bisogno di sviluppare un sistema del genere, ma comunque può essere utile ad utenti che non hanno questa funzionalità ;)
 

Discussioni simili