Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zabezpieczenie strony
marcinek37
post
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


witam,

1. zabezpieczyłem system wg wskazówek zawartych na stronach:
- http://php.pl/Wortal/Artykuly/Bezpieczenst...wa-skryptow-PHP
- http://webmade.org/porady/bezpieczenstwo-p...on-xss-csrf.php
oczywiście w internecie są setki podobnych artykułów, jednak nie wnoszą niczego nowego do dyskusji o bezpieczeństwie
czy informacje zawarte w nich są wystarczające? czy mam na coś innego zwrócić uwagę?

2. moje logowanie wygląda tak, że podaję login i hasło, system sprawdza, czy owy login jest w bazie, jeśli jest, to sprawdza, czy podane hasło po przejściu przez md5 jest zgodne z tym z bazy danych
jeśli jest powstają dwie sesje, w jednej podany jest numer ID użytkownika, a w drugiej znajduje się hasło po przejściu po funkcji md5

następnie po każdym odświeżeniu strony, system wie, że mam te dwie sesje, ale i tak je sprawdza, czy użytkownik o ID z sesji ma w bazie takie samo hasło jak te z sesji

czy to bezpieczne? czy może warto coś z tym zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcinek37
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


1. pobrałem sobie to: http://www.openwall.com/phpass/phpass-article-3.tar.gz
i skupiłem się na katalogu demo4, który najbardziej mi odpowiadał

przykładowy kod był spory, a jego konstrukcja mi nie odpowiadała, więc skróciłem go tak:
  1. <?
  2. <?php
  3. require '../PasswordHash.php';
  4. $hasher = new PasswordHash($hash_cost_log2, $hash_portable);
  5.  
  6. // oryginalne hasło
  7. $org_pass = 'XYZ';
  8.  
  9. // funkcja, która tworzy hash dla hasła
  10. $pass = $hasher->HashPassword($org_pass);
  11.  
  12. // hash, który się utworzył
  13. $org_hash = '$P$BxAextjApHS/s1Hj01Eydd9Jfv2PSb.';
  14.  
  15. // jeśli pokaże 1, to działa dobrze
  16. $ok = $hasher->CheckPassword($org_pass, $org_hash);
  17.  
  18. // wynik
  19. echo $ok;
  20. ?>


czy dobrze zrozumiałem jego działanie?

2. żeby kod nieco skrócić, zmieniłem nieco klasę:
  1. <?
  2. class PasswordHash {
  3. var $itoa64;
  4. var $iteration_count_log2 = 8;
  5. var $portable_hashes = FALSE;
  6. var $random_state;
  7. ...
  8. ?>

bo i tak nie wiem, do czego służą te parametry, więc wpisałem je na stałe

3. jak rozumiem, każda fraza może mieć kilka/kilkanaście swoich wersji, bo gdy odświeżałem stronę dla danej zmiennej, skrypt tworzył zupełnie inny hash

4. czy coś jeszcze powinienem wiedzieć o tym skrypcie?

Ten post edytował marcinek37 22.10.2012, 17:29:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 11:10