Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie admina strony
aagaaz
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.02.2010

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


Witam.

Mam problem z logowaniem admina.
W pliku login.php umiescilam kod:
  1. if ($_POST['login']=='admin'and $_POST['haslo']=='admin')
  2. {
  3. header('Location:admin/panel_admin.php');
  4. }


ale chcialabym , aby pobieral zaszyfrowane haslo admina, ktore mam w bazie danych.

Może cie mi pomóc...
Powód edycji: [Cysiaczek]: bbcode, pamiętaj w przyszłości
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


1. Zobacz, czy na początku pliku nie masz jakichś znaków (nawet zwykłej spacji) i jeśli plik jest kodowany w UTF-8, to czy jest kodowany bez nagłówka BOM

2. Nie wiem po co to dałaś:

Cytat
header('Location: '.$_POST['URI']);


bo:
a.) To i tak nie zadziała, bo wyżej wyświetlasz dane
b.) Jakby działało, to skrypt byłby podatny na Phishing

3. Po co te całe htmlspecialchars na dane jeśli:
a.) hasło i tak jest kodowane md5, więc i tak bazie nie zagrozi
b.) mysql_real_escape_string() wystarczy do zabezpieczenia przed SQL Injection
c.) Jak usuniesz stamtąd htmlspecialchars(), to uzywaj go przy wyświetlaniu danych.

Ten post edytował pyro 5.12.2010, 23:29:18
Go to the top of the page
+Quote Post
Rid
post
Post #3





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat(pyro @ 5.12.2010, 23:27:12 ) *
1. Zobacz, czy na początku pliku nie masz jakichś znaków (nawet zwykłej spacji) i jeśli plik jest kodowany w UTF-8, to czy jest kodowany bez nagłówka BOM

2. Nie wiem po co to dałaś:



bo:
a.) To i tak nie zadziała, bo wyżej wyświetlasz dane
b.) Jakby działało, to skrypt byłby podatny na Phishing

3. Po co te całe htmlspecialchars na dane jeśli:
a.) hasło i tak jest kodowane md5, więc i tak bazie nie zagrozi
b.) mysql_real_escape_string() wystarczy do zabezpieczenia przed SQL Injection
c.) Jak usuniesz stamtąd htmlspecialchars(), to uzywaj go przy wyświetlaniu danych.

1.Funkcja usuwająca spacje -trim ,jeden kłopot mniej
3.Funkcje typu htmlspecialchars,htmlentities - konwertują znaki specjalne na Encje-jak użyjesz polskiej literki to funkcja potraktuje ją jak znak specjalny i zamieni np. "ó" na &auml -jednakże funkcje te chronią przed atakami XSS jak również addslashes i stripsslashes dodające lub ujmujące w określonych przypadkach ukośniki.Chronią one dokument php przed atakami XSS nie SQLInjection-do tego służy właśnie mysql_real_escape_string() która bezpośrednio zabezpiecza bazę danych.Najlepszym sposobem zabezpieczenia pól według mnie jest zastosowanie wyrażeń regularnych poprzez funkcje preg_match ,ja staram się używać całego dostępnego"arsenału" aby zabezpieczyć i dokument i bazę danych.Nic to nie zaszkodzi przecież (IMG:style_emoticons/default/aaevil.gif)
Go to the top of the page
+Quote Post
pyro
post
Post #4





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(Rid @ 6.12.2010, 00:25:32 ) *
1.Funkcja usuwająca spacje -trim ,jeden kłopot mniej
3.Funkcje typu htmlspecialchars,htmlentities - konwertują znaki specjalne na Encje-jak użyjesz polskiej literki to funkcja potraktuje ją jak znak specjalny i zamieni np. "ó" na &auml -jednakże funkcje te chronią przed atakami XSS jak również addslashes i stripsslashes dodające lub ujmujące w określonych przypadkach ukośniki.Chronią one dokument php przed atakami XSS nie SQLInjection-do tego służy właśnie mysql_real_escape_string() która bezpośrednio zabezpiecza bazę danych.Najlepszym sposobem zabezpieczenia pól według mnie jest zastosowanie wyrażeń regularnych poprzez funkcje preg_match ,ja staram się używać całego dostępnego"arsenału" aby zabezpieczyć i dokument i bazę danych.Nic to nie zaszkodzi przecież (IMG:style_emoticons/default/aaevil.gif)


Bardzo fajnie, że podałeś błędne definicje i błędne założenia, a do tego nie przeczytałeś tego co napisałem, a ponadto podałeś błędne wnioski. Więc powiedz mi, po co to napisałeś (IMG:style_emoticons/default/ph34r.gif) ?

Cytat
Dałam to po to , żeby logowanie odbywało się na tej stronie na której się znajduję... i to działa...


Dokładnie to samo by się działo, jakbyś usunęła tę linijkę, ale jeśli Cię uszczęśliwia to możesz ją zostawić (IMG:style_emoticons/default/tongue.gif)

Zwróć uwagę na 1 punkt mojego poprzedniego postu (jeśli cokolwiek wyświetlasz przed podaniem header, to nie zostanie wykonany ten header), a ponadto na początku swojego pliku wklej:

  1.  
  2. echo ini_get('display_errors') ? '' : 'WLACZ DYREKTYWE DISPLAY_ERRORS';


I zobacz wynik, szczególnie zwróć uwagę na błędy typu 'headers already sent...'.

Jeśli to nie zadziała, to ściągnij wtyczkę podglądającą nagłówki HTTP, np. Tamper Data i zobacz czy nagłówek Location jest na pewno przesyłany.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 15:18