2009-07-04 27 views
6

Mi chiedevo (e ho usato Google senza risultati chiari) se c'è un modo per connettersi a un database MySQL con PHP usando una password con hash. Dire che ho il seguente:Connessione a MySQL con password hash?

Password (plain): 'foobar' 
Password (sha1): '8843d7f92416211de9ebb963ff4ce28125932878' 

Ora vorrei per connettersi a MySQL come questo (utilizzando la funzione mysql_ * come ad esempio, sto usando DOP però):

$db_link = mysql_connect ('localhost', 'user', '8843d7f92416211de9ebb963ff4ce28125932878'); 

ho questo possibile ? Qualcuno l'ha già fatto prima?

+0

Se qualcuno ha accesso al codice, possono collegarsi indipendentemente dalla password. Basta usare una password lunga generata a caso e non mostrarla all'utente :-). –

risposta

2

La risposta breve è no.

Ma, mi sto solo chiedendo ... qual è la tua vera preoccupazione? Qualcuno ha hackerato sul tuo server e ha scoperto la tua password?

+0

Solo per la privacy, ti piacerebbe che tu (per esempio) ti iscrivi su un sito web senza che la password sia stata criptata nel database? – Stefan

+0

La ragione per cui le password dei popoli hash (non crittografati) non devono proteggere i loro dati, ma impedire agli hacker, che hanno già violato la sicurezza e avere accesso a tutto, dall'essere in grado di prendere i dettagli di accesso e provare a riutilizzarli accedere ai tuoi dati su altri siti, come ad esempio la posta elettronica. Basta essere cauti quando si sta camminando sulla linea tra confusione e sicurezza. – Hans

10

Quindi il "hash" sarebbe essere la password. Quale sarebbe il vantaggio?

+0

Quindi qualcuno, anche se ottengono i dati di connessione in testo normale, non conoscono la password dell'utente. Che importerebbe se usi la stessa password su tutto. – colithium

+0

Ma visto che lo sviluppatore/amministratore cauto è già preoccupato di questo non useresti questa password anche altrove ;-) E tu l'hai posta da qualche parte non accessibile attraverso il tuo webserver. – VolkerK

+0

Il vantaggio sarebbe la privacy. Sto sviluppando un'applicazione che memorizza i valori di connessione del database (in un database "master") per l'utilizzo dell'applicazione. – Stefan

1

il caso di utilizzo avrebbe più sviluppatori che modificano il file .php che contiene la password di connessione sql che potresti non voler sapere.

Penso che una soluzione sarebbe spostare l'istruzione connect in un file come tale, assicurati di non avere una variabile $ password anche se qualcuno potrebbe semplicemente chiamarlo e stamparlo più tardi nel loro file .php

mysql.php 
<?php 
    mysql_connect('db.cs.dal.ca','user','password'); 
    @mysql_select_db($database) or die("Database Error ".mysql_error()); 
?> 

e solo dare la vostra auto rw ------- autorizzazioni per il file mysql.php, poi in tutti i file accessibili .php di gruppo si può semplicemente includere il file di evocare una connessione.

index.php 
<?php include("mysql.php") ?> 

<!-- some web content --> 

<?php mysql_close(); ?> 

e dare il vostro gruppo sviluppatori rw-rw ---- autorizzazioni per tutti gli altri file .php, fino a quando il proprietario del file mysql.php possono leggere dovrebbe eseguito sul server php .. ... credo.

Sono ancora paranoico di avere la mia password in un file in testo normale, perché potrei accidentalmente postarla su un forum se sto risolvendo i problemi, o semplicemente lasciare il file aperto sul mio schermo. C'è un motivo per cui ogni campo password entra * ** invece di mostrare caratteri di testo normale: P

0

semplice risposta è "Non è possibile."

So cosa stai cercando di realizzare: probabilmente stai facendo un piano di hosting condiviso e non puoi mettere il tuo file di configurazione sopra la cartella html.

Stefan sta pensando che un hacker cercherebbe solo il file di configurazione e vuole farlo lavorare per le informazioni. Una volta che l'hacker si rende conto che ha bisogno di più informazioni, deve rompere il sito una seconda volta.

Questo non ha nulla a che fare con una tabella di nomi utente & password. Questo è per il file di configurazione MySQL.

Problemi correlati