area protetta

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
in un testo ho trovato questo script relativo alla creazione di un’area protetta.
è un testo in cui l’autore presuppone che tutti sappiano tutto di tutto (ahime) e quindi non spiega nulla.
Lo scripi è questo:
PHP:
<?php
if(!(isset($_SERVER['PHP_AUTH_USER']) &&
	isset($_SERVER['PHP_AUTH_PW']) &&
	$_SERVER['PHP_AUTH_USER'] =='nome' &&
	$_SERVER['PHP_AUTH_PW'] =='pass')){
	header('WWW-Authenticate: Basic realm="Area Protetta" ');
	header('Status: 401 Unauthorized');
}else{
?>
<!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>pagina protetta</title>
</head>
<body>
sei entrato<br>tutto quello che serve
</body>
</html>
<?php
}
?>
ora, chiamando la pagina il bw dovrebbe chiedere l’username e la password (così almeno dice) come da figura seguente:
password.jpg


a me, invece, da pagina bianca.
qualcuno sa dirmi dove io (o l’autore) sbaglio?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Mi sembra abbastanza disordinato e mal concepito, ti propongo di usare questo in cambio. Posto anche il codice per comodità:
PHP:
$autenticato = false;
if (isset($_SERVER['PHP_AUTH_USER']) && 
    isset($_SERVER['PHP_AUTH_PW']))
  {

  $user = $_SERVER['PHP_AUTH_USER'];
  $password = $_SERVER['PHP_AUTH_PW'];
  
if ($user == 'marlon' && $password == 'brando'){
  $autenticato = true;
  }
 }
if (!$autenticato){
  header('WWW-Authenticate: Basic realm="Pagina di accesso"');
  header('HTTP/1.0 401 Unauthorized');
  echo "Autenticazione fallita.\n";
}
  else {
  echo 'Utente autenticato.';
  }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao elix, una domanda

mi sai dire quale è il grado di sicurezza di un tale sistema? cioè è (facilmente) possibile inviare una pass o user con una injection? non c'è bisogno di "filtrarle"?
grazie
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
Ciao,

mi permetto di inseririrmi. Il livello di sicurezza dello script proposto è medio\basso, l'http basic autentication, infatti, non è un protocollo sicuro per i seguenti motivi:
User & password sono inviati in base64 ENCODING (non encrypted), il server di destinazione non è autenticato\verificato (possibilità di sniffing).
Inoltre, per lo script suddetto user e password sono in chiaro nel file..

Un protezione addizionale può essere ottenuta utilizzo un protocollo più sicuro (es. HTTPS) o migliorando la sicurezza a livello di network (IPSEC o VPN) ma per il tuo caso specifico credo che gli utlimi due non siano fruibili.

In definitiva, la sicurezza, dipende dalle finalità, dai dati in perimetro e funzionalità correlate, per una semplice area privata di un sito personale credo che vada bene..

Ciao, Ciro
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Apache ha introdotto dei moduli con standard di sicurezza molto più elevati del modulo auth_basic ma che per lo più non vengono usati per motivi vari e spesso legati all'ignoranza di chi installa un web server, altre volte per l'uso, specie in pannelli di controllo precostituiti, di programmi di installazione già pronti che poco o nulla lasciano all'utente finale per poter modificare i moduli da caricare.
Per esempio cPanel usa EasyApache che permette di caricare in modo predefinito (perché Apache lo fa in questo modo) solo mod_authn_default, man on ad esempio mod_authz_user. che è più sicuro rispetto al modulo base.
Più ovviamente altri moduli basati su database DBM (sich!)
Il problema principale poi al solito ricade nella macchina che di solito sta tra la sedia e il monitor :) e non mi riferisco questa volta all'utente medio ma al programmatore.
Una macchina con installato il sistema operativo gnu/linux e sistema di shadow password è sufficientemente sicuro per un uso normale ma solo se chi lo usa ha l'accortezza di:
1)
a) dalla parte dell'amministratore di sistema di non usare la classica directory di default per le password ma di cambiargli il percorso con un nome di fantasia proprio.
b) di non permettere la lettura online, magari attraverso Google dei file .htaccess presenti nelle varie cartelle dei siti. Cosa che Apache non permette in modo predefinito ma che con una ricerchina per argomento su Google è facile rendersi conto di quanti server invece permettono!
2) dalla parte di chi programma il sito di evitare di mettere il classico file .htpasswd dentro la cartella da proteggere o al limite all'interno della root del sito, ma al di fuori di essa, magari chiamando l'amministratore di sistema e chiedendogli cosa e come fare.
2.1) spesso ci si affida a tool automatici per creare queste direcotry cosidette protette, è anche il caso di cPanel, diffidate!
Meglio fare le cose a manetta. Ma non aspettatevi la sicurezza di altri metodi basati su autenticazione asincrona.
Ah dimenticavo! Non è che sistemi a database siano più sicuri, sono sicuri almeno quanto questo metodo, anzi spesso molto ma molto di meno se fatti come quelli che vedo spesso in questo forum.
Sia chiaro non voglio criticare nessuno, ma spesso vedo passare direttamente ad una query il valore di una get senza nemmeno curarsi di controllare cosa contiene :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Problema nella creazione di un'area protetta PHP 10
C Creazione pagina area protetta PHP 62
P Creare area protetta PHP 6
N area protetta PHP 2
C CREARE UN AREA PROTETTA CON ASP SU WINDOWS SERVER 2003 (con database MySQL) Classic ASP 19
A Problema nella creazione di un area protetta!!!! Classic ASP 3
A creare area protetta su sito Classic ASP 2
E area protetta con php ed xml PHP 1
M Area protetta personalizzata Classic ASP 3
4 Area protetta HTML e CSS 5
F [PHP] Reindirizzare utenti alla propria area personale PHP 1
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3
KOMODO_JOE [WordPress] Area privata per ogni utente su altervista WordPress 1
M [WordPress] [HTML] AREA RISERVATA CON PROFILAZIONE WordPress 2
F [Photoshop] come riempire un area selezionata su un layer trasparente con colore solido Photoshop 0
D [Javascript] Text area visibile Javascript 0
F [PHP] Creare un'area web riservata PHP 13
W Area riservata sicura PHP MySQL PHP 12
Z Semplice area privata in php PHP 6
I Area riservata in PHP PHP 2
I [PHP] CURL per accesso ad area riservata PHP 6
I [WordPress] area membri WordPress 1
S [WordPress] [HTML] Bordo di selezione area - Link di ancoraggio WordPress 3
W. YouneS Area riservata con php e mysql PHP 0
trattorino [Javascript] [HTML] risultato imput dentro text area Javascript 2
4potere [WordPress] Plugin raccolta clienti, area dedicata ad ogni cliente WordPress 0
W [ASP] Password Login per area riservata Classic ASP 13
T Richiamare il click su un input type="image" alla pressione del tasto invio su una text area. PHP 0
JohnnyIbiza021a Programmare area personale per singolo utente PHP 12
Recover Area riservata con database PHP 11
gandalf1959 problema con header in area riservata PHP 4
A area riservata in php senza data base PHP 19
Giuliana Signorello WP: Creare un booking multi-struttura con area agenzie annessa WordPress 0
V area ripetuta e cambiamento background in foto PHP 0
Recover db in sola lettura su area riservata WordPress 1
L Accesso area riservata tramite QR code WordPress 3
felino Disattivare gli annunci temporaneamente dell'area amministrativa Google AdSense 0
A accesso area riservata nn funziona più PHP 1
A Area riservata con login e mysql ma nn mi logga PHP 1
E consigli per piccola area riservata PHP 4
Elisacau Area riservata.. WordPress 2
M problema creazione nuova area widget WordPress 0
I Area riservata con contenuto personalizzato per i registrati? CMS (Content Management System) 0
S realizzare un' area di login completa costo... Offerte e Richieste di Lavoro e/o Collaborazione 2
P mouseOver su area map Javascript 8
A [RISOLTO]Ripulire una text-area con un click Javascript 4
B Area Riservata/Download per Wordpress WordPress 3
M Come verificare accesso ad area http auth basic? PHP 7
S Plugin login/ registrazione Wordpress con area download privata WordPress 3
M Problema con form per accesso area riservata ai soci PHP 2

Discussioni simili