Come verificare accesso ad area http auth basic?

mauf

Nuovo Utente
24 Giu 2013
3
0
0
Bregano (VA)
Ho un sito con un'area ristretta che richiede autenticazione tramite http basic auth e, ovviamente, un'area pubblica.

Dalle alcune pagine dell'area pubblica vorrei mostrare dei link a contenuti dell'area privata solo a chi si sia già autenticato per quell'area.

Non ho bisogno di (o meglio non voglio) iniziare l'autenticazione dall'area pubblica né voglio/posso pubblicare il link in modo visibile a chi quel file non potrebbe accedere per mancanza di credenziali.

Ho provato con $_SERVER['REMOTE_USER'] ma questa è visibile solo nel sotto-albero dove è avvenuta l'autenticazione... ho provato anche una fopen("http://url....") ma fallisce sia che mi sia autenticato che non (per mancanza di auth)...

L'ultima spiaggia (sarà l'aria estiva?) che mi rimane (o che vedo) è di impostare una variabile di sessione nella prima pagina dell'area riservata e testarla in quella pubblica... ma, se non altro per esercizio di stile, mi piacerebbe capire se si possa risolvere usando solo la "basic auth"...

Grazie a tutt* per qualsiasi suggerimento.

mauf
 

giamma

Utente Attivo
4 Mag 2005
111
0
0
scusa se ti chiedo ma da quello che hai scritto qualcosa non mi torna puoi postarmi il codice dell'autentificazione http basic?
 

mauf

Nuovo Utente
24 Giu 2013
3
0
0
Bregano (VA)
Non sto cercando di autenticarmi ma di capire se l'utente che visita una pagina pubblica (che non richiede auth) si sia già autenticato in un'area ristretta dello stesso sito prima di passare nell'area pubblica (e con che nome).

L'autenticazione che uso è quella basic di http non quella iniziata da php, questo il contenuto di .htaccess:
AuthType Basic
AuthName "good fellas only"
AuthUserFile /web/htdocs/www.mydomain.com/secretpart/.htpasswd
require valid-user

Se io esamino $_SERVER['REMOTE_USER'] in /secretpart/index.php trovo il nome di chi si è autenticato (tramite http) ma se poi passo in /public/altra_pagina.php la variabile non è impostata (in /secretpart/daqualcheparte/pagina_segreta.php lo dovrebbe essere, perché all'interno dell'area auth, anche se non ho provato).
 

giamma

Utente Attivo
4 Mag 2005
111
0
0
cioè io stavo pensando che il problema poteva essere sul cookie cioè nel cookie viene indicato se deve essere valido in una directory e sotto directory --- quindi dipende da come hai settato quell' opzione es: setcookie("TestCookie", $value, time()+3600, "/dir/", "example.com", 1); quindi qui gli dici anche in che cartella è valido se invece di "dir" metti slash dovrebbe essere valido dalla root del web quindi anche nella pagina iniziale puoi far in modo che uno veda o meno una parte della pagina ... non sò se mi sono spiegato sappimi dire ciao.
 

mauf

Nuovo Utente
24 Giu 2013
3
0
0
Bregano (VA)
La spiegazione è ottima, ma sono completamente passivo riguardo l'autenticazione che viene effettuata dal web server... quindi non sono io che invio cookie o hedaer...
e tutto sommato, ripensandoci, quello che sto cercando di fare potrebbe essere anche considerato "intrusivo" rispetto alla privacy (ad es. in un sito condiviso tipo blog o multiuser) quindi penso di accontentarmi della soluzione con variabile di session...

Grazie e ciao,
mauro
 

giamma

Utente Attivo
4 Mag 2005
111
0
0
ottima scelta anche le sessioni implementano i cookie, alla prossima ciao
 

alexa337

Nuovo Utente
5 Apr 2013
9
0
0
Milano
Puoi controllare se un utente ha effettuato l'autentificazione tramite HTTP, attraverso la superglobale $_SERVER["PHP_AUTH_USER"].

Hai gia provato questa variabile?

Puoi addirittura gestire l'autentificazione HTTP direttamente tramite PHP proprio grazie questa variabile.
Dai un occhio a questo snippet.
PHP:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Il Mio Reame"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Testo da inviare se l'utente preme cancel';
    exit;
} else {
    echo "<p>Ciao {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Hai inserito questa stringa: {$_SERVER['PHP_AUTH_PW']} come password</p>";
}
?>
 
Ultima modifica di un moderatore:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
alexa337 ricorda di formattare il codice. Si potrebbero notare degli errori nella sintassi molto più facilmente (come ad esempio in questo caso).
 
Discussioni simili
Autore Titolo Forum Risposte Data
Y verificare condizione dopo esecuzione della funzione Programmazione 0
W verificare credenziali in automatico con PHP PHP 1
S Come verificare se un file è aperto PHP 2
I Verificare compressione GZip Server Dedicati e VPS 0
F [Javascript] Verificare la presenza di caratteri speciali in una password Javascript 3
otto9due Confrontare due array: verificare che tutti i valori di un'array siano contenuti in un'altra. jQuery 1
giannit Verificare se un utente è connesso tramite db mysql PHP 15
borgo italia una funzione per verificare l'invio di files Snippet PHP 0
C [PHP] verificare se un dispositivo e' online PHP 9
M [PHP] Verificare che azienda sia aperta o chiusa PHP 3
Monital Verificare il doqnolad di un file per una sola volta PHP 3
P inserire un titolo e verificare Ajax 4
Marco_88 Verificare la selezione degli elementi dom jQuery 2
filippino Verificare se variabile di PHP è definita PHP 2
Marco_88 Verificare più valori con operatore ternario PHP 4
JackIlPazzo Estrarre voce random e verificare se è corretta PHP 8
M Long polling per verificare gli utenti on line jQuery 1
Licantropo Come verificare i propri siti web, database e server? Sicurezza e Virus 6
M verificare se il valore inserito nel campo è un numero ed effettuare dei calcoli Javascript 2
asevenx verificare presenza parola lunga all'interno di un testo PHP 1
MarcoGrazia Verificare un checkbox/radiobutton con jquery Snippet Javascript 1
F Verificare se in una variabile è presente un determinato numero PHP 2
Z Verificare che mi sta scrivendo o rispondendo Javascript 1
L Funzione per verificare distanza di tempo non funziona: perchè? PHP 4
max_400 Verificare se l'utente è on-line PHP 2
I Verificare il dispositivo del visitatore del sito? PHP 5
P Verificare e nel caso installar eeAccellerator Apache 1
D Verificare esistenza valore Javascript 2
IImanuII Verificare se i file sono scrivibili, apribili e chiudibili PHP 7
Shyson Verificare se una mail esiste PHP 15
IImanuII Verificare se Javascript è attivo attraverso PHP PHP 8
A Verificare variabile.... PHP 6
voldemort Verificare se un attributo esiste con jQuery jQuery 4
M Verificare se il dispositivo è TouchScreen Javascript 1
V Verificare il valore selezionato nella combobox PHP 5
S Tool in beta test per verificare le posizioni del tuo sito su Google.it Presenta il tuo Sito 0
V Verificare pagina da cui arriva l'utente PHP 3
B verificare esistenza link PHP 3
D Verificare esistenza indirizzo e-mail in php PHP 2
M Come verificare veridicità di un account di posta? Sicurezza e Virus 0
metalgemini verificare il blocco popup Javascript 0
metalgemini Verificare l'esistenza di un file su server Classic ASP 1
A Verificare il focus Javascript 4
Max 1 Accesso a database phpBB 1
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
R reindirizzamento accesso facebook Social Media Marketing 1
elpirata Gestire permessi accesso alle pagine PHP 3
A Problemi di accesso da remoto a Ipcam IP Cam e Videosorveglianza 6
R Accesso a Mit APP Inventor2 Sviluppo app per Android 0

Discussioni simili