Revision: 50111
Updated Code
at August 11, 2011 04:48 by beneberle
Updated Code
<?php /* take the following script and modify the connection details and query to suit your needs */ // function to generate salt function genRandomPassword($length = 32) { $salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $len = strlen($salt); $makepass = ''; mt_srand(10000000 * (double) microtime()); for ($i = 0; $i < $length; $i ++) { $makepass .= $salt[mt_rand(0, $len -1)]; } return $makepass; } // connection // FILL IN YOUR DATABASE DETAILS HERE $hostname = "yourhost"; $database = "db_name"; $username = "db_user"; $password = "db_pass"; $site = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database, $site); // run query // QUERY TO RETURN USER IDS OF ALL 'registgered' usertypes (gid = 18) $query = "SELECT * FROM jos_users WHERE gid <= '18'"; $result = mysql_query($query, $site) or die(mysql_error()); $row_result = mysql_fetch_assoc($result); $num_rows = mysql_num_rows($result); echo "You're resetting ". $num_rows ." passwords"; do { //generate salt $salt = genRandomPassword(); // update $query_update = "UPDATE jos_users SET password = '" . md5(stripslashes("NEW-PASSWORD").$salt) .':'.$salt . "' WHERE id = " . $row_result['id']; $update_result = mysql_query($query_update, $site) or die(mysql_error()); echo $query_update."<br />"; } while ($row_result = mysql_fetch_assoc($result)); ?>
Revision: 50110
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 11, 2011 04:04 by beneberle
Initial Code
<?php /* take the following script and modify the connection details and query to suit your needs */ // function to generate salt function genRandomPassword($length = 32) { $salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $len = strlen($salt); $makepass = ''; mt_srand(10000000 * (double) microtime()); for ($i = 0; $i < $length; $i ++) { $makepass .= $salt[mt_rand(0, $len -1)]; } return $makepass; } // connection // FILL IN YOUR DATABASE DETAILS HERE $hostname = "yourhost"; $database = "db_name"; $username = "db_user"; $password = "db_pass"; $site = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database, $site); // run query // QUERY TO RETURN USER IDS OF ALL 'registgered' usertypes (gid = 18) $query = "SELECT * FROM jos_users WHERE gid <= '18'"; $result = mysql_query($query, $site) or die(mysql_error()); $row_result = mysql_fetch_assoc($result); $num_rows = mysql_num_rows($result); echo "You're resetting ". $num_rows ." passwords"; do { //$query_update = "UPDATE jos_users SET password = '" . md5(stripslashes("TCT11_SanFran").$salt) .':'.$salt . "' WHERE id = " . $row_result['id']; //generate salt $salt = genRandomPassword(); // update //echo "Run the query!!"; $query_update = "UPDATE jos_users SET password = '" . md5(stripslashes("NEW-PASSWORD").$salt) .':'.$salt . "' WHERE id = " . $row_result['id']; $update_result = mysql_query($query_update, $site) or die(mysql_error()); echo $query_update."<br />"; } while ($row_result = mysql_fetch_assoc($result)); ?>
Initial URL
http://www.bigspring.co.uk/research-blog/batch-creation-of-joomla-passwords
Initial Description
Basic sample courtesy of John Martin @ www.bigspring.co.uk/
Initial Title
Batch password reset in Joomla!
Initial Tags
joomla
Initial Language
PHP