Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Hasło
Forum PHP.pl > Forum > PHP
kapral
W jaki najlepiej sposób przechowywać nazwę i hasło administratora jeśli nie ma się dostępu do bazy danych
maker
Moim zdaniem najbezpieczniej w jakims pliku np. config.php
  1. <?
  2. $login = 'login'; # w md5/sha1
  3. $haslo = 'haslo'; # w md5/sha1
  4. ?>
gu35t
poczytaj o htaccess. koduj hasla(md5()). nie indexuj katalogow gdzie trzymasz pliki z haslami.
kapral
A jeśli ktoś znajdzie ścieżkę do pliku to wszystko się wyświetli sad.gif
nospor
I daltego trzymaj hasŁa w postaci zakodowanej np. md5. Postać zakodowana za bardzo mu nie pomoże, bo w formularzu powiedzmy będzie musial wpisać haslo, które potem ty bedziesz kodowal. Zakodowanie hasla w postaci md5 do jeszcze raz md5 da inne haslo.
kapral
Ale z doświadczenia wiem że złamać hasło MD5 można, chyba że zastosuje się nic nie znaczący ciąg znaków - ale i to można złamać.
ActivePlayer
Cytat
A jeśli ktoś znajdzie ścieżkę do pliku to wszystko się wyświetli 

Akurat w tym przypadku nic sie nie wyswietli, bo nei widzę tam zadnego echo print or sth.

po 2 mozesz zrobic cos takiego:

w pliku np. index.php (tego z którego includujesz)
  1. <?php
  2.  
  3. DEFINE(&#092;"INCLUD_OK\", \"1\");
  4. include(&#092;"config.php\");
  5.  
  6. ?>


a w config.php
  1. <?php
  2.  
  3. if(INCLUD_OK != 1) {
  4.    echo 'Brak dostępu'; 
  5.    die();
  6. }
  7. // reszta konfigów.
  8. ?>
Pigula
Cytat(kapral @ 2005-06-20 17:19:26)
Ale z doświadczenia wiem że złamać hasło MD5 można, chyba że zastosuje się nic nie znaczący ciąg znaków - ale i to można złamać.

mozna ale ile to potrwa. byla o tym dyskusja w Hydepark'u wiec jezeli nie robisz strony z super tajnymi danym to md5 jest wystarczajace a i tak najwazniejsze jest zabezpieczenie serwera. jak serwer jest bezpieczny to mozesz nawet tego nie kodowac (wiem skrajny przypadek - nie mozliwy do zrealizowania tongue.gif )
Ociu
ActivePlayer: może lepiej defined" title="Zobacz w manualu PHP" target="_manual ?
ActivePlayer
tak lepiej, ale - nie chciałem zaciemniać przykładu.
Dex1987
kedys jak nie umialem jeszcze sie obslogwac baza danych zapisywalem hasla tak

funkcja wtorzy plik o losowanej nazwie z rozszerzeniem php potem tworzy zmienna $login i $haslo (haslo w md5). Pliki z haslami includowalem poprzez wczytanie listy folderu z plikami w ktorych znajdowaly sie hasla. Potem robilem do tego (jak sie juz nauczylem) .htaccess i autoryzacje HTTP.

pozdrawiam, narazie
bronx
a ja mam takie pytanko - w jaki sposob najlepiej trzymac hasla (w postaci zakodowanej) ale tak zeby mozna je bylo potem odkodowac. Bo jak zakoduje md5 to juz sliwki, jak ktos zapomni hasla to trzeba nowe dawac, a ja chce miec mozliwosc przypomnienia hasla...
Lars
md5 nie da sie odkodować, chyba że jakimś superkomputerem
i to trzeba hash długo rozszyfrowywać tongue.gif

Cytat
Bronx:
a ja mam takie pytanko - w jaki sposob najlepiej trzymac hasla (w postaci zakodowanej) ale tak zeby mozna je bylo potem odkodowac. Bo jak zakoduje md5 to juz sliwki, jak ktos zapomni hasla to trzeba nowe dawac, a ja chce miec mozliwosc przypomnienia hasla...


chyba nie ma takiego algorytmu cool.gif
bela
Cytat(bronx @ 2005-06-30 11:46:38)
a ja mam takie pytanko - w jaki sposob najlepiej trzymac hasla (w postaci zakodowanej) ale tak zeby mozna je bylo potem odkodowac. Bo jak zakoduje md5 to juz sliwki, jak ktos zapomni hasla to trzeba nowe dawac, a ja chce miec mozliwosc przypomnienia hasla...

To może generować nowe i je słać na mail ?
kapral
Do Lars to podaj mi jakiś wyraz zakodowany MD5 a ja ci spróbuje go odkodować. Tylko jakiś zwykły wyraz.
Liko
78aab8e4a99b8db57e320c5bda75a1ed
NuLL
[OT]
Wybaczcie,
Nie mogę się powstrzymać - MEGAROTFL - część osób pewnie wie dlaczego...
[/OT]
reViVer
A gdzie można znaleźć koder md5?
Bo ja zielony z php i napisać za bardzo nie miałbym czasu biggrin.gif
maker
  1. <?
  2. $string = 'cos';
  3. $zakodowane = md5($string);
  4. echo($zakodowane);
  5. ?>
reViVer
dzieki cool.gif
id4
Witam

Cytat(bronx @ 2005-06-30 10:46:38)
a ja mam takie pytanko - w jaki sposob najlepiej trzymac hasla (w postaci zakodowanej) ale tak zeby mozna je bylo potem odkodowac. Bo jak zakoduje md5 to juz sliwki, jak ktos zapomni hasla to trzeba nowe dawac, a ja chce miec mozliwosc przypomnienia hasla...


Skoro chcesz kodować hasła w sposób, by można było je łatwo odkodować, to po co w ogóle kodować hasło? Przecież funkcja kodowania ma na celu zabezpieczenie, a jak zakodujesz np. base_64, to jaki sens jak każdy to będzie potrafił odkodować?
Pigula
mozna napisac wlasny algorytm kodujacy i odkodujacy no ale z tego co wiem to nie jest takie proste, przy zalozeniu ze nie polega to np. na dodaniu do kodu ascii wartosci dajmy na to 8 tongue.gif
tes
XOR ? snitch.gif
Mozna zastosowac kodowanie Huffmana tongue.gif
Lars
a549824a08ce8a198ccdb93c4983966e

na przykład - proste słowo winksmiley.jpg.

koder Md5 winksmiley.jpg: Fajny skrypcik napisany z nudów:

md5.php
  1. <?php
  2. if(isset($_POST['md'])) {
  3. echo 'Hash słowa <u>'.$_POST[&#092;"md\"].'</u> to:<br>';
  4. $_POST['md']=md5($_POST['md']);
  5. echo $_POST['md'];
  6. } else {
  7. ?>
  8. <form action=\"md5.php\" method=\"post\">
  9. <input type=\"text\" name=\"md\">
  10. <input type=\"submit\" value=\"md5's me!\">
  11. </form>
  12. <?php
  13. }
  14. ?>
kapral
Cześć Lars wydaje mi się że po odkodowaniu wychodzi z tego słowo kapral .
Odpisz czy się zgadza
h.4
Można też tak:

config.php
  1. <?php
  2.  
  3. #$login::xxxxx;
  4. #$haslo::xxxxx;
  5.  
  6. ?>


gdzie xxxxx = md5($string);

Odczyt:
  1. <?php
  2.  
  3. $db = implode('', file(&#092;"config.php\"));
  4.  
  5. $a1 = quotemeta (&#092;"$login::\");
  6. $a2 = quotemeta (&#092;"$haslo::\");
  7. $c = quotemeta (&#092;";\");
  8.  
  9. preg_match(&#092;"#\" . $a1 . \"(.*?)\" . $c . \"#si\", $db, $a);
  10. preg_match(&#092;"#\" . $a2 . \"(.*?)\" . $c . \"#si\", $db, $b);
  11. $_login = $a[1];
  12. $_haslo = $b[1];
  13.  
  14. echo &#092;"Login: \" . $_login;
  15. echo &#092;"<BR> --------- <br>\";
  16. echo &#092;"Haslo: \" . $_haslo;
  17.  
  18. ?>


W ten
serafin
Przypominanie hasla to bzdura. Jezeli chcesz chronic dane uzytkownikow to taki mechanizm jest zbedny. Czemu? Jezeli ktos dorwie baze danych dorwie tez hasla a z doswiadczenia wiem ze wielu userow ma uniwersalne haslo do wielu rzeczy: poczta, kompy, ssh, ftp itd. Lepiej napisac fajny algorytm ktory wygeneruje nowe, latwo zapamietywalne haslo (z odpowiednich glosek)

Pozdrawiam
Lars
Cytat(kapral @ 2005-07-05 07:48:48)
Cześć Lars wydaje mi się że po odkodowaniu wychodzi z tego słowo kapral .
Odpisz czy się zgadza

tak to jest słowo kapral Kapral tongue.gif

Używałeś http://md5.khrone.pl czy jakiegoś superkomputera biggrin.gif ?
tsufu
nie ma to jak bruteforce... ale ogolnie zlamac algorytm to jol powodzenia smile.gif aczkolwiek moze cos wymyslili winksmiley.jpg wiekszosc wlaman polega na blednej implementacji czy tez stack overflow winksmiley.jpg
kapral
Zgadza się Lars posłużyłem się metodą słownikową. Dlatego każdy powinien mieć hasło z przypadkowo ułożonych liter i cyfr.
Czy jest to w miare bezpieczne przechowywanie hasł:
Kod
<?php
if(isset($logowanie) && $logowanie == 'tak')
{
   $login='c4ca4238a0b923820dcc509a6f75849b';
   $haslo='c4ca4238a0b923820dcc509a6f75849b';
}
else
  echo"Po co tu zaglądasz";
?>
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.