Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Autoryzacja - kodowane haslo
Forum PHP.pl > Forum > PHP
drynda
Witam mam skrypt autoryzacji
Kod
<?

  if (!isset($PHP_AUTH_USER)) {

        header('WWW-Authenticate: Basic realm="n3team"');

        header('HTTP/1.0 401 Unauthorized');

        exit;

  } else if (isset($PHP_AUTH_USER)) {

        $plik = ".htpasswd";

        $fp = fopen($plik, "r");

        $zawartosc = fread($fp, filesize($plik));

        fclose($fp);

        $linia = explode("n", $zawartosc);

        $i = 0;

        while($i <= sizeof($linia)) {

                $dane = explode(":", $linia[$i]);

                if (($dane[0] == "$PHP_AUTH_USER") && ($dane[1] ==

                        "$PHP_AUTH_PW")) {

                        $auth = 1;

                        break;

                } else {

                        $auth = 0;

                }

                $i++;

        }

        if ($auth == "1") {

                echo "<p>Logged in!</p>";

                exit;

        } else {

                header('WWW-Authenticate: Basic realm="IG3Net Control

                        Center"');

                header('HTTP/1.0 401 Unauthorized');

                echo 'Access Danied';

                exit;

        }

  }

?>


ale on czyta hasla
user:pass
a jak zrobic zeby uzywac kodowane hasla questionmark.gif
Wankster
tzn. że masz w pliku zakodowane hasło i chcesz je sprawdzić z tym wpisanym z okienka?

to może tak :
Kod
&& (md5( $dane[1] ) ==

                        "$PHP_AUTH_PW")) {


btw... chodzi Ci o kodowanie MD5?
drynda
chodzi mi ze chce aby skrypt autoryzacji pobieral haslo zakodowane a nie jak w przypadku w ktorym napisalem wyzej odkodowane, chodzi o md5
Wankster
no to dajesz PHP_AUTH_PW w md5() winksmiley.jpg
drynda
jesli tak jak napisales wyzej
Kod
&& (md5( $dane[1] ) ==

                        "$PHP_AUTH_PW")) {

to niedziala

haslo robie tak:
htpasswd -m .htpasswd user
Wankster
od początku w pliku '.htpasswd' masz loginy i hasła w takiej formie
login : hasło ...
z tym że hasło jest już zakodowane w md5, tak?

to teraz dajesz tak :
[php:1:d7dd5431b0]<?php
while($i <= sizeof($linia)) {
$dane = explode(":", $linia[$i]);
if (($dane[0] == "$PHP_AUTH_USER") && ($dane[1] ==
md5("$PHP_AUTH_PW"))) {
$auth = 1;
break;
} else {
$auth = 0;
}
$i++;
}
?>[/php:1:d7dd5431b0]
drynda
tak haslo jest zakodowne w md5 user:pass
zrobilem tak jak wyzej napisales i dalej niedziala :?
Wankster
a co się pojawia?
daj pod tym if'em sprawdzającym echo $PHP_AUTH_PW; czy coś wogóle jest...
drynda
nic sie niepojawia poprostu haslo niepasuje heh chyba zrobie bez kodowania
Bielo
W tej chwili proboje zrobic programik do tworzenia htpasswd i mam podobny problem.

Chodzi o to, że hasla w pliku htpasswd NIE SĄ W FORMACIE MD5 :oops:

W tej chwili poszukuję algorytmu który ko0duje hasła w tym nie md5.

zy znqalazł by się ktoś kto umiałby napisać coś takiego najlepiej w Visual C++ 8)
adwol
Cytat
Chodzi o to, że hasla w pliku htpasswd NIE SĄ W FORMACIE MD5 :oops:

W takim razie są najprawdopodobniej w formacie crypt()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.