protezione pagine web
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- aLvArO
- Linux 4.x

- Messaggi: 1201
- Iscritto il: mer 30 mar 2005, 0:00
- Nome Cognome: alessio
- Slackware: current64
- Kernel: 2.6.30-rc8-smp
- Desktop: kde 4.2.4
- Località: Catanzaro Lido (CZ)
protezione pagine web
salve a tutti
vi spiego subito il mio prob dovuto alla mia ignoranza.
avrei bisogno di limitare l'accesso ad una pagina web di un sito personale.
solitamente restringevo l'accesso all'intera directory creando un file .htaccess.
considerato che questo sito viene caricato in uno spazio gratutito che nn mi permette di creare file .htaccess e quindi questo metodo di restrizione, esiste un metodo anche + semplice per fare in modo che ki clicca sul link che porta alla pagina che io voglio proteggere chieda l'inserimento di nome utente e pass
ciao grazie
vi spiego subito il mio prob dovuto alla mia ignoranza.
avrei bisogno di limitare l'accesso ad una pagina web di un sito personale.
solitamente restringevo l'accesso all'intera directory creando un file .htaccess.
considerato che questo sito viene caricato in uno spazio gratutito che nn mi permette di creare file .htaccess e quindi questo metodo di restrizione, esiste un metodo anche + semplice per fare in modo che ki clicca sul link che porta alla pagina che io voglio proteggere chieda l'inserimento di nome utente e pass
ciao grazie
- albatros
- Iper Master

- Messaggi: 2098
- Iscritto il: sab 4 feb 2006, 13:59
- Kernel: 6.18.0
- Desktop: gnome and lxqt
- Distribuzione: Ubuntu 24.04 & FC 41
- Località: Darmstadt - Germania
Beh, crei un form in html dove chiedi di inserire nome e password, dopodiché calcoli l'md5 della password e lo confronti con quello che hai sul server, se coincidono stampi al volo la pagina con le istruzioni print altrimenti stampi un messaggio di errore...
Se gli utenti sono pochi e puoi scrivere uno per uno i confronti da fare, meglio, altrimenti tieni i dati in un database...
Ti conviene usare le sessioni, se credi puoi evitare di usare i cookies propagando il sessid tramite post (es. aggiungendo nel form una riga tipo: print('<input type="hidden" name="PHPSESSID" value="'.$PHPSESSID.'">'); ).
Brevi spezzoni di codice:
Per le sessioni scrivi un qualcosa tipo:
Per il form qualcosa tipo:
Per il controllo qualcosa tipo:
Nel mio caso gli md5 li ho calcolati con:
Ho detto che la procedura è relativamente semplice, ma non è veloce...
Se la sicurezza è poi importante occorre prestare una certa attenzione, in particolare occhio all'inserimento di codice malizioso tramite il form sfruttando le sequenze di escape, soprattutto se lo interfacci con un database (sql injection).
Se gli utenti sono pochi e puoi scrivere uno per uno i confronti da fare, meglio, altrimenti tieni i dati in un database...
Ti conviene usare le sessioni, se credi puoi evitare di usare i cookies propagando il sessid tramite post (es. aggiungendo nel form una riga tipo: print('<input type="hidden" name="PHPSESSID" value="'.$PHPSESSID.'">'); ).
Brevi spezzoni di codice:
Per le sessioni scrivi un qualcosa tipo:
Codice: Seleziona tutto
session_start();
if(!IsSet($_POST['PHPSESSID']))
{
$PHPSESSID=session_id();
}
else
{
$PHPSESSID=session_id($_POST['PHPSESSID']);
}
Codice: Seleziona tutto
print("<br>Inserire il nome utente:");
print("<br><form method=\"post\" action=\"{$_SERVER['P
HP_SELF']}\" > <input type=\"text\" name=\"utente\">");
print("<br><br>Inserire la password:<br>");
print("<input type=\"password\" name=\"passwor
d\"><br><br>");
print("<input type=\"submit\" value=\"Invia\">
");
print("</form><br>");
Codice: Seleziona tutto
function controllo($user,$passwd)
{
if(($user=="geodesio"&&$passwd=="6e6bc4e49dd477ebc98ef4046c067b5f")||($user=="anassimene"&&$passwd=="0c88028bf3aa6a6a143ed846f2be1ea4"))
{
return TRUE;
}
else
{
return FALSE;
}
Codice: Seleziona tutto
php -a
echo md5("password-di-accesso");
Se la sicurezza è poi importante occorre prestare una certa attenzione, in particolare occhio all'inserimento di codice malizioso tramite il form sfruttando le sequenze di escape, soprattutto se lo interfacci con un database (sql injection).
- aschenaz
- Staff

- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Io, in genere, utilizzo un altro metodo:
- innanzitutto non ricorro all'MD5, ma utilizzo una funzione di criptatura personalizzata e memorizzo la password su database come semplice campo di testo (che essendo criptato in modo originale, non è intelligibile con semplicità);
- poi, nel file di raccolta dati:Naturalmente, al funzione di criptatura dev'essere il più complicata possibile, associando diverse funzioni di modifica e conversione delle stringhe.
Per quanto riguarda l'sql injection, è fondamentale non settare a "on" il register_globals di php.ini.
Ciao,
nino
- innanzitutto non ricorro all'MD5, ma utilizzo una funzione di criptatura personalizzata e memorizzo la password su database come semplice campo di testo (che essendo criptato in modo originale, non è intelligibile con semplicità);
- poi, nel file di raccolta dati:
Codice: Seleziona tutto
// connessione mysql già aperta
$mypasswd=miaFunzioneCrypt($_POST["password"]);
$qry="SELECT * FROM utenti WHERE username='{$_POST["username"]}' AND password='$mypasswd'";
$res=mysql_query($qry);
if(!$res) {
header("Location: index.php?backmsg=utente_non_autorizzato");
exit();
}
$rws=mysql_fetch_object($res);
$_SESSION["user"]=$rws->username;
// etc.
Per quanto riguarda l'sql injection, è fondamentale non settare a "on" il register_globals di php.ini.
Ciao,
nino
- ccts2002
- Linux 1.x

- Messaggi: 155
- Iscritto il: gio 9 nov 2006, 23:20
- Località: milano - trieste - catania
- Contatta:
più o meno avevo fatto anch'io qualcosa del genere...
la cosa che mi interesserebbe è come avete risolto il problema del primo invio password...mi spiego:
una volta che si è confrontata la password, la si può ``rimandare'' da una pagina all'altra come hidden, come ha anche detto albatros
per la vostra esperienza, è solo paranoia o si può fare qualcosa?
ciao
P.S.: ovviamente tralasciamo il discorso se il sito merita o no tanta sicurezza...la mia è una curiosità di tipo ``cultura personale''...non si sa mai nella vita...
la cosa che mi interesserebbe è come avete risolto il problema del primo invio password...mi spiego:
una volta che si è confrontata la password, la si può ``rimandare'' da una pagina all'altra come hidden, come ha anche detto albatros
ma la prima volta che l'utente si logga, la password viene trasmessa in chiaro, quindi chiunque stia sniffando, la può leggere tranquillamente...girando in internet avevo trovato uno script javascript che effettuando la conversione md5 (o qualsivoglia, basta scriverla!!!) sulla macchina client, invia la password già criptata...solo che necessita di avere java sul client, perdendo tutta la bellezza di avere un linguaggio lato server......
aggiungendo nel form una riga tipo: print('<input type="hidden" name="PHPSESSID" value="'.$PHPSESSID.'">')
...
per la vostra esperienza, è solo paranoia o si può fare qualcosa?
ciao
P.S.: ovviamente tralasciamo il discorso se il sito merita o no tanta sicurezza...la mia è una curiosità di tipo ``cultura personale''...non si sa mai nella vita...
- aschenaz
- Staff

- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Beh, volendo, si può ricorrere al protocollo https, ma, personalmente, non ho mai approfondito la materia, anche perché, coi pochi siti con cui ho avuto a che fare, non era il caso di eccedere in sicurezza...ccts2002 ha scritto:più o meno avevo fatto anch'io qualcosa del genere...
la cosa che mi interesserebbe è come avete risolto il problema del primo invio password...
CUT
ma la prima volta che l'utente si logga, la password viene trasmessa in chiaro, quindi chiunque stia sniffando, la può leggere tranquillamente...girando in internet avevo trovato uno script javascript che effettuando la conversione md5 (o qualsivoglia, basta scriverla!!!) sulla macchina client, invia la password già criptata...solo che necessita di avere java sul client, perdendo tutta la bellezza di avere un linguaggio lato server...
per la vostra esperienza, è solo paranoia o si può fare qualcosa?
..
Qui, comunque, c'è un tutorial.
Ciao,
nino
- albatros
- Iper Master

- Messaggi: 2098
- Iscritto il: sab 4 feb 2006, 13:59
- Kernel: 6.18.0
- Desktop: gnome and lxqt
- Distribuzione: Ubuntu 24.04 & FC 41
- Località: Darmstadt - Germania
E' più che legittima la questione dell'invio della password in chiaro, personalmente non l'ho affrontata perché viaggia in chiaro anche la password di accesso al pannello del sito, quindi avrebbe poco senso, nel mio caso, inviare password crittate per accedere a sezioni particolari del sito dato che chi avesse sniffato la password principale potrebbe fare più o meno quello che vuole...
- aschenaz
- Staff

- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Appunto per questo preferisco usare una funzione di criptatura personalizzata...albatros ha scritto:E' più che legittima la questione dell'invio della password in chiaro, personalmente non l'ho affrontata perché viaggia in chiaro anche la password di accesso al pannello del sito, quindi avrebbe poco senso, nel mio caso, inviare password crittate per accedere a sezioni particolari del sito dato che chi avesse sniffato la password principale potrebbe fare più o meno quello che vuole...
- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
- aschenaz
- Staff

- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
masalapianta ha scritto:ritieni che il tuo algoritmo crittografico fatto in casa sia piu' robusto di md5?ninobi ha scritto:Io, in genere, utilizzo un altro metodo:
- innanzitutto non ricorro all'MD5, ma utilizzo una funzione di criptatura personalizzata
Però, l'md5 è uno standard e ci arrivano tutti, ai miei percorsi tortuosi e demenziali ci si può arrivare lo stesso, ma non è altrettanto immediato...
Nel senso che, se uno riesce ad accedere al database e vede un campo password criptato, la prima cosa che prova è l'md5, no?
- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
ormai e' noto da anni che la security by obscurity non funziona, soprattutto in campo crittografico; la prima cosa che si impara studiando crittografia e' che la robustezza di un algoritmo NON deve dipendere dal fatto che sia noto o meno; ti garantisco che e' mooooooolto piu' semplice fare crittanalisi sul tuo algoritmo fatto in casa piuttosto che vedersela con md5 (nonostante md5 sia noto e il tuo algoritmo no)ninobi ha scritto:masalapianta ha scritto:ritieni che il tuo algoritmo crittografico fatto in casa sia piu' robusto di md5?ninobi ha scritto:Io, in genere, utilizzo un altro metodo:
- innanzitutto non ricorro all'MD5, ma utilizzo una funzione di criptatura personalizzataNon sia mai!
Però, l'md5 è uno standard e ci arrivano tutti, ai miei percorsi tortuosi e demenziali ci si può arrivare lo stesso, ma non è altrettanto immediato...
Nel senso che, se uno riesce ad accedere al database e vede un campo password criptato, la prima cosa che prova è l'md5, no?
- aschenaz
- Staff

- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Ok, ne farò tesoro per il futuro.masalapianta ha scritto:...
ormai e' noto da anni che la security by obscurity non funziona, soprattutto in campo crittografico; la prima cosa che si impara studiando crittografia e' che la robustezza di un algoritmo NON deve dipendere dal fatto che sia noto o meno; ti garantisco che e' mooooooolto piu' semplice fare crittanalisi sul tuo algoritmo fatto in casa piuttosto che vedersela con md5 (nonostante md5 sia noto e il tuo algoritmo no)
Grazie 1000.