Als Admin anderen benutzer passwort ändern

Alles, was PHP betrifft, kann hier besprochen werden.

Als Admin anderen benutzer passwort ändern

Postby derdavid » 26. August 2013 09:54

Hey, ich arbeite gerade an einem Admin Menü dass das passwort eines anderen benutzers ändern soll
Ich weiß leider nicht wie das geht :/

bisher habe ich das adminmenu, danach die bearbeitungsseite und danach die neuespasswortbearbeitung seite:

adminmenu.php
Code: Select all
<?php
        session_start();
        include_once('./include/val_login.php');
        include_once('./include/config.inc.php');
        include_once('./include/connect.inc.php');
?>
<html>
        <head>
       
        <script type="text/javascript">
        function datenubergabe()
        {
        //var check=document.bearbeiten.bearbeitung.getAttribute('checked');
        //document.submit();
        alert ("hallo"+check); return false;
        }
        </script>
       
       
       
        </head>
        <body>
 
<?php 
        echo "<table border='1'><tr><td>#</td><td>ID</td><td>Name</td><td>Passwort</td><td>Vorname</td><td>Nachname</td><td>Ban</td><td>Admin</td></tr>";
       
        // Datenbank auswählen
        mysql_select_db("essensabstimmung") or die(mysql_error());
 
        // SQL-Query
        $strSQL = "SELECT * FROM benutzer ORDER BY Vorname DESC";
 
        // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
        $rs = mysql_query($strSQL);
       
        // Schleifendurchlauf durch $rs
        while($row = mysql_fetch_array($rs)) {
           // Schreibe den Wert der Spalten Vorname und Geburtsdatum
           
//echo "\t\t<td><input type='radio' checked='checked' name='abstimmen' ></td>\n";
 
          echo "<tr> <td><input type='radio' checked='checked' name='bearbeitung' id='bearbeitung". $row['ID'] . "' ></td>";
          echo "<td>". $row['ID'] . "</td><td> ". $row['NAME'] . "</td><td>" . $row['PASSWORT'] . "</td>";
          echo "<td>" . $row['Vorname'] . "</td><td>" . $row['Nachname'] . "</td><td>" . $row['ban'] . "</td><td>" . $row['admin'] . "</td></tr>";
 
          }
    echo "</table>";
 
        echo "<table>";
        echo "<form name='bearbeitenf' action='./bearbeitenseite.php' method='POST'>";
        echo "<input type='image' name='bearbeiten' src='./include/bearbeiten.gif' alt='bearbeiten' onclick='return datenubergabe();'>";
        echo "</form>";
       
        echo "<form name='bearbeiten2f' action='./essensabstimmung2.php' method='POST'>";
        echo "<input type='image' name='bearbeiten2' src='./include/abbruchbearbeiten.gif' alt='bearbeiten2' onclick='document.submit()'>";
        echo "</form>";
       
        echo "</table>";
 
         
        // Schließt die Datenbankverbindung
        mysql_close();
?>
</body>
</html>


bearbeitungsseite.php
Code: Select all
 
<html>
    <head> 
    </head>
 
 
    <script type="text/javascript">
       
    function chkFormular () {
      var eingabe=document.daten.neuespasswort.value;
       
      if (eingabe == "") {
        alert("Bitte ausfüllen!");
        document.daten.neuespasswort.focus();
        return false;
       
      }
      return true;
    }
</script>
   
    <body> 
       
 
 
         <?php
                print '<pre>';
                print_r($_REQUEST);
                print '</pre>';
                ?>
       
                <form action='./neuespasswortbearbeitung.php' method='POST'>
 
 
                                <font size="+2">Neues Passwort:</font><br>
                                <font size="-1">Sonderzeichen sind nicht erlaubt!</font>
                                <p><input name='neuesPasswortFertig' type='text' size='48' maxlength='30' /></p>
                       
 
                                <font size="+2">Sperren/Sperre aufheben:</font><br>
                                <input type="radio" name="sperre" value="Sperren" /> Sperren
                                <input type="radio" name="sperre" value="Entsperren" /> Entsperren<br>
                       
                        <br>
                       
                                <font size="+2">Admin:</font><br>
                                <font size="-1">Sonderzeichen sind nicht erlaubt!</font><br>
                                <input type="radio" name="admin" value="keinadmin" /> Admin Level 0
                                <input type="radio" name="admin" value="admin" /> Admin Level 1<br>
                       
                        <br /> <br>
                       
                        <input type='image' name='bearbeitung' src='./include/bearbeitung.gif' alt='bearbeitung' onclick='document.submit()' />
 
                </form>
 
 
                <form name='daten' action='./essensabstimmung2.php' method='POST'>
                        <input type='image' name='startpage' src='./include/startpage.gif' alt='startpage' onclick='document.submit()' />
                </form>
 
</body>
</html>


neuespasswortbearbeitung.php
Code: Select all
<?php
session_start();
include_once('./include/val_login.php');
include_once('./include/config.inc.php');
include_once('./include/connect.inc.php');
 
function text_entschaerfen($text_alt) {
        $suchMuster1 = '/<script.+<\/script>/';
        $suchMuster2 = '/<\?.+\?>/';
        $suchMuster3 = '/<script.+/';
        $suchMuster4 = '/<\?.+/';
        $ersetzeMit = '';
        $text_neu = $text_alt;
 
        $text_neu = preg_replace($suchMuster1, $ersetzeMit, $text_neu); // schädliches JS verhindern
        $text_neu = preg_replace($suchMuster2, $ersetzeMit, $text_neu); // schädliches PHP verhindern
        $text_neu = preg_replace($suchMuster3, $ersetzeMit, $text_neu); // schädliches JS verhindern
        $text_neu = preg_replace($suchMuster4, $ersetzeMit, $text_neu); // schädliches PHP verhindern
       
        return $text_neu;
       
}
 
$antihack2  = mysql_real_escape_string(trim($_POST['neuespasswortfertig']));
$antihack2  = text_entschaerfen($antihack2);
if($antihack2=="")
{
header('location: ./essensabstimmung2.php?meldung=fehler');
}
else
{
 
$benutzer= "update benutzer set PASSWORT='".$antihack2."'
where NAME='".$row['ID']."' ";
mysql_query($benutzer)  OR die("Ein Fehler ist aufgetreten: ".mysql_error());
echo "Passwort erfolgreich geändert.<br>\n";
 
echo "<form action='./essensabstimmung2.php' method='POST'>";
echo "<input type='image' name='zuruckneinfugen' src='./include/zuruck.gif' alt='zuruck' onclick='document.submit()'>";
}
mysql_close($con);
?>


LG David

[EDIT by Altrea: verschorben da es nicht wirklich etwas mit XAMPP zu tun hat und die Pastebins durch code Blocks ersetzt da Pastebin Einträge von Gästen nach einer Zeit ablaufen und damit der Beitrag keinen Wert für die Community mehr gehabt hätte]
derdavid
 
Posts: 1
Joined: 26. August 2013 09:40
Operating System: Windows 7

Re: Als Admin anderen benutzer passwort ändern

Postby Altrea » 26. August 2013 18:55

Hallo David,

derdavid wrote:Ich weiß leider nicht wie das geht :/

Wo hapert es denn genau?
Die SQL-Anweisung zum Ändern eines Passworts ist nicht wirklich schwer.

Beispielsweise nehmen wir an, du möchtest das Passwort des Benutzers mit der ID 1 wechseln:
Code: Select all
UPDATE `benutzer`
SET `PASSWORT` = MD5('NEUES PASSWORD')
WHERE `ID` = 1;


kleine Anmerkung: Ich hoffe, dass du Passworte in der Datenbank nicht nur über eine hash-Funktion laufen lässt sondern auchnoch einen salt mit einbeziehst oder gleich mit bcrypt arbeitest. Passwörter in Klartext oder nur mit einem einmal hash zu kaschieren ist fahrlässig.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests