Visa ett inlägg
Oläst 2011-10-26, 18:30 #1
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Här är den kod jag skrev för att göra detta. Hoppas den kan hjälpa andra.

<?php
echo "Startar konvertering ...<br><br>";

$sql_host = 'subdomän.domän.se';
$sql_database = 'name_of_db';
$sql_username = 'username';
$sql_password = 'password';
$sql_table_name = 'name_of_table';

// Ta en fras härifrån: https://api.wordpress.org/secret-key/1.1/salt/
$salt = "din fras kommer här";

$mysql_connect = mysql_connect($sql_host, $sql_username, $sql_password);
mysql_select_db($sql_database, $mysql_connect);

// Namn på kolumner nedan kan behöva korrigeras:
$result = mysql_query("SELECT username, password FROM ".$sql_table_name."");
while($row = mysql_fetch_array($result)) {
$new_hash = md5($salt.$row['password']);
mysql_query("UPDATE ".$sql_table_name." SET password = '".$new_hash."' WHERE username = '".$row['username']."'");
}
echo "Konverting klar";
?>

<pre>
Ändra nu följande:
-----------------------

Ändra din inloggning från:

if(md5($_POST['password']) == $password) {
// Inloggad
}

Eller liknande som du har till följande istället:

$salt = "din fras kommer här";
if(md5($salt.md5($_POST['password'])) == $password) {
// Inloggad
}

Radera sedan denna filen från servern!
</pre>
1. MD5 är dock inte en framtidsäker lösning, om man kostar på sig att skriva en ny inloggningsrutin tycker jag man bör byta till SHA256 eller en riktig KDF.

2. Saltet bör läggas efter lösenordet för att försvåra bruteforce
SimonP är inte uppkopplad   Svara med citatSvara med citat