Loading:


    PHP System zarządzania hasłami

    Skrypt PHP tworzy prosty system do zarządzania hasłami.



    Napisz Artyku³

    Listing


    //Formularz umożliwiający wprowadzanie danych
    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
    <TITLE>Zarządzanie hasłami</TITLE>
    </HEAD>
    <BODY>
    <CENTER>
    <H2>Zarządzanie hasłami:</H2>
    <FORM NAME = "formularz1"
          ACTION = "http://127.0.0.1/skrypt.php"
          METHOD = "POST"
    >
    <TABLE border="1">
    <TR>
      <TD bordercolor="#FFFFFF">Użytkownik:</TD>
      <TD colspan="2" bordercolor="#FFFFFF">
        <INPUT TYPE="text" NAME="user">
      </TD>
    </TR><TR>
      <TD bordercolor="#FFFFFF">Hasło:</TD>
      <TD colspan="2" bordercolor="#FFFFFF">
        <INPUT TYPE="password" NAME="haslo">
      </TD>
    </TR><TR>
      <TD bordercolor="#FFFFFF">
        <INPUT TYPE="radio" NAME="akcja" VALUE="add" CHECKED> Dodaj
      </TD>
      <TD bordercolor="#FFFFFF" align="center">
        <INPUT TYPE="radio" NAME="akcja" VALUE="remove">Usuń
      </TD>
      <TD bordercolor="#FFFFFF">
        <INPUT TYPE="radio" NAME="akcja" VALUE="modify">Modyfikuj
      </TD>
    </TR><TR>
      <TD colspan="3" align="center" bordercolor="#FFFFFF">
        <INPUT TYPE="submit" VALUE="Wykonaj">
      </TD>
    </TR>
    </TABLE>
    </FORM>
    </CENTER>
    </BODY>
    </HTML>


    //Skrypt modyfikujący dane w pliku passwords.txt

    <?


    function readArray($fd)
    {
      $arr = array();
      while (!feof ($fd)) {
        $line = trim(fgets($fd));
        if(($pos = strpos($line, ":"))===false) continue;

        $tempUser = substr($line, 0, $pos);
        $tempPass = substr($line, $pos + 1, strlen($line) - $pos);
        if ($tempUser == '' || $tempPass == '') continue;

        $arr[$tempUser] = $tempPass;
      }
      return $arr;
    }

    function writeArray($fd, $arr)
    {
      foreach($arr as $key => $value){
        $tempStr = $key.":".$value."\r\n";
        fwrite($fd, $tempStr);
      }
    }

    if(isSet($_POST["haslo"])){
      $pass = $_POST["haslo"];
    }
    else{
      echo("Brak pola hasło.");
      exit();
    }

    if(isSet($_POST["user"])){
      $user = $_POST["user"];
    }
    else{
      echo("Brak pola użytkownik.");
      exit();
    }

    if(isSet($_POST["akcja"])){
      $akcja = $_POST["akcja"];
    }
    else{
      echo("Brak pola akcja.");
      exit();
    }

    if($pass == "" && $akcja != "remove"){
      echo("Brak hasła!");
      exit();
    }
    if($user == ""){
      echo("Brak nazwy użytkownika!");
      exit();
    }

    if(!$fd = @fopen("passwords.txt", "a+")){
      echo("Błąd przy próbie otwarcia pliku");
      exit();
    }

    fseek($fd, 0);
    $arr = readArray($fd);
    fclose($fd);

    if($akcja == "add"){
      if(!array_key_exists($user, $arr)){
        $arr[$user] = sha1($pass);
        echo("Użytkownik: $user został dodany do bazy!");
      }
      else{
        echo("Użytkownik: $user istnieje już w bazie!");
        exit();
      }
    }
    else if ($akcja == "remove"){
      if(array_key_exists($user, $arr)){
        unset($arr[$user]);
        echo("Użytkownik: $user został usunięty z bazy!");
      }
      else{
        echo("Nie ma użytkownika: $user w bazie!");
        exit();
      }
    }
    else if ($akcja == "modify"){
      if(array_key_exists($user, $arr)){
        $arr[$user] = sha1($pass);
        echo("Hasło użytkownika: $user zostało zmienione!");
      }
      else{
        echo("Nie ma użytkownika: $user w bazie!");
        exit();
      }
    }
    else{
      echo("Błędne dane: akcja=$akcja");
      exit();
    }

    if(!$fd = @fopen("passwords.txt", "w")){
      echo("Wstąpił błąd przy próbie zapisu zmodyfikowanej bazy!");
      exit();
    }
    writeArray($fd, $arr);
    fclose($fd);
    ?>


    //przykładowa zawartość pliku password.txt

    user1:f0578f1e7174b1a41c4ea8c6e17f7a8a3b88c92a
    user2:8be52126a6fde450a7162a3651d589bb51e9579d
    user3:de2a4d5751ab06dc4f987142db57c26d50925c8a
     




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    Można gdzieś znaleźć logowanie za pomocą takiej rejestracji?
    autor: Finch | 399 | 2009-08-04 10:04:15


      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors