Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.62 KB | None | 0 0
  1. <?php
  2. require_once("lib/maininclude.php");
  3.  
  4. function genRandomString() {
  5.     $length = 8;
  6.     $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGEFGHIJKLMNOPQRSTUWXYZ";
  7.     $string = "";
  8.  
  9.     for ($p = 0; $p < $length; $p++)
  10.     {
  11.         $string .= $characters[mt_rand(0, strlen($characters))];
  12.     }
  13.  
  14.     return $string;
  15. }
  16.  
  17. function resetPasswd($sel_reset,$sel_key)
  18. {
  19.     // Resetting using username
  20.     if ($sel_key == "reg_username" )
  21.     {
  22.         $a = 'username';
  23.         $sql_reset_pass = "SELECT * FROM users WHERE $a = '$sel_reset'";
  24.  
  25.         $reset_result = mysql_query($sql_reset_pass);
  26.         $reset_rows = mysql_num_rows($reset_result);
  27.         $reset_info = mysql_fetch_array($reset_result);
  28.  
  29.         if ( $reset_rows ==  NULL )
  30.         {
  31.             return false;
  32.         }
  33.         else
  34.         {
  35.             $new_pass = genRandomString();
  36.             // SEND UPDATE WITH MD5 -> SQL
  37.  
  38.             $new_pass_md = md5($new_pass);
  39.             mysql_query("UPDATE users SET password = '$new_pass_md'
  40.            WHERE $a = '$sel_reset'");
  41.  
  42.             // SEND EMAIL
  43.             $message = "Hei!\nSalasananne HNs sivuille on resetoitu ja ".
  44.             "teille on generoitu uusi salasana joka on: " . $new_pass;
  45.             $subject = "HNS - Salasana resetoitu";
  46.             $to = $reset_info['email'];
  47.  
  48.             mail($to,$subject,$message);
  49.  
  50.             return true;
  51.         }
  52.  
  53.     }
  54. // Resetting using email
  55.     if ($sel_key == "reg_email" )
  56.     {
  57.         $a = 'email';
  58.         $sql_reset_pass = "SELECT * FROM users WHERE $a = '$sel_reset'";
  59.  
  60.         $reset_result = mysql_query($sql_reset_pass);
  61.         $reset_rows = mysql_num_rows($reset_result);
  62.         $reset_info = mysql_fetch_array($reset_result);
  63.  
  64.         if ( $reset_rows ==  NULL )
  65.         {
  66.             return false;
  67.         }
  68.         else
  69.         {
  70.             $new_pass = genRandomString();
  71.             // SEND UPDATE WITH MD5 -> SQL
  72.  
  73.             $new_pass_md = md5($new_pass);
  74.             mysql_query("UPDATE users SET password = '$new_pass_md'
  75.            WHERE $a = '$sel_reset'");
  76.  
  77.             // SEND EMAIL
  78.             $message = "Hei!\nSalasananne HNs sivuille on resetoitu ja ".
  79.             "teille on generoitu uusi salasana joka on: " . $new_pass;
  80.             $subject = "HNS - Salasana resetoitu";
  81.             $to = $reset_info['email'];
  82.  
  83.             mail($to,$subject,$message);
  84.  
  85.             return true;
  86.  
  87.         }
  88.     }
  89. }
  90. function main()
  91. {
  92.  
  93.     printHeader("HNs -Salasana unohtunut?");
  94.     print "<div id=\"content\"><br />";
  95.  
  96.     $sel_reset = "";
  97.  
  98.     if (isset($_POST["reg_username"]) && $_POST["reg_email"] == "")
  99.     {
  100.         $sel_reset = $_POST["reg_username"];
  101.         $sel_key   = array_keys($_POST);
  102.         $sel_key   = $sel_key[0];
  103.  
  104.         $sql_acc_info  = mysql_query("SELECT * FROM users WHERE username = '$sel_reset'");
  105.         if (!$sql_acc_info) {
  106.             die('Could not query:' . mysql_error());
  107.         }
  108.         $account_info  = mysql_fetch_array($sql_acc_info);
  109.  
  110.  
  111.     }
  112.     if (isset($_POST["reg_email"]) && $_POST["reg_username"] == "")
  113.     {
  114.         $sel_reset = $_POST["reg_email"];
  115.         $sel_key   = array_keys($_POST);
  116.         $sel_key   = $sel_key[1];
  117.  
  118.         $sql_acc_info  = mysql_query("SELECT * FROM users WHERE email = '$sel_reset'");
  119.         if (!$sql_acc_info) {
  120.             die('Could not query:' . mysql_error());
  121.         }
  122.         $account_info  = mysql_fetch_array($sql_acc_info);
  123.     }
  124.     if (!resetPasswd($sel_reset,$sel_key))
  125.     {
  126.  
  127.     print <<<EOD
  128.     <h1> Salasana unohtunut? </h1>
  129.     <form action="" method="post">
  130.      <table>
  131.       <tr>
  132.         <th colspan="3"> Resetoi salasana antamalla k&auml;ytt&auml;j&auml;nimi tai s&auml;hk&ouml;posti</th>
  133.       </tr>
  134.       <tr>
  135.         <td>K&auml;ytt&auml;j&auml;nimi:
  136.         </td><td>
  137.         <input type="text" name="reg_username" maxlenght="20"/>
  138.         </td>
  139.         <td rowspan="2"><input type="submit" value="Resetoi!"></td>
  140.       </tr>
  141.       <tr>
  142.          <td>S&auml;hk&ouml;posti:
  143.          </td><td>
  144.          <input type="text" name="reg_email" maxlenght="50"/>
  145.         </td>
  146.       </tr>
  147.      </table>
  148.     </form>
  149.  
  150. EOD;
  151.     }
  152.     else
  153.     {
  154.         print "\n<h1> Onnistui! </h1> \n<p> ".$account_info['username']." : Tilin uusi salasana".
  155.         "l&auml;hetetty osoitteeseen: ".$account_info['email']."</p>";
  156.     }
  157.     print "\n</div>";
  158.     printFooter();
  159. }
  160.  
  161. $MYSQL_CONNECTION = Database::connect($MYSQL_SERVER, $MYSQL_LOGINNAME, $MYSQL_PASSWORD);
  162. Database::selectDb($MYSQL_DATABASE, $MYSQL_CONNECTION);
  163.  
  164. main();
  165.  
  166. mysql_close($MYSQL_CONNECTION);
  167.  
  168. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement