Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> oddzielne hasło dla każdej rangi
kubal
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


Witam winksmiley.jpg
Mam problem ze zrobieniem takiego panelu logowania że dla każdej rangi która jest załogą(Site Coder, Administrator, Moderator) będzie oddzielne hasło do logowania się do panelu... ale przed tem oczywiscie muszę się zalogować za pomocą swojego hasła i loginu ;] Kod jakiś tam napisałem ale nie działa prawidłowo... co prawda wyświetla się od moderatora w zwyższ ale jak jestem np. moderatorem i podam hasło Site codera to mnie normalnie zaloguje itp. :-/ Może coś na to poradzicie.? Tak to się prezentuje na dzień dzisiejszy:

Bardzo proszę o pomoc w naprawie tego... winksmiley.jpg

Ten post edytował kubal 17.08.2008, 20:48:22
Go to the top of the page
+Quote Post
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


Po pierwsze wyrzuć ukryte pola z nazwą użytkownika i hasłem - są one widoczne w kodzie strony, a to nie jest bezpieczne. Co zaś się tyczy logowania, to masz w linii z if'em sprawdzającym hasła dwa problemy:
- operator && ma wyższy priorytet niż ||, więc wyrażenie będzie działać inaczej niż sobie założyłeś;
- aby rozróżnić użytkowników na podstawie wpisywanych haseł, musisz sprawdzenie rozbić na trzy if'y, po jednym dla każdego hasła.


--------------------
Go to the top of the page
+Quote Post
kubal
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


to jak mniej-więcej miałoby to wyglądać? bo próbuje i nic... :/

Ten post edytował kubal 6.08.2008, 16:02:27
Go to the top of the page
+Quote Post
SirZooro
post
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


Coś słabo kombinujesz smile.gif
  1. <?php
  2. if (isset($_POST['code']))
  3. {
  4. if ($_POST['code'] == $coder_code)
  5. echo 'Ala';
  6. elseif ($_POST['code'] == $admin_code)
  7. echo 'ma';
  8. elseif($_POST['code'] == $mod_code)
  9. echo 'kota';
  10. }
  11. ?>


--------------------
Go to the top of the page
+Quote Post
kubal
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


tak próbowałem ale nie działa sad.gif
udało mi się to w końcu zrobić smile.gif miało to wyglądać tak:
Kod
if (isset($_POST['code']) && ($_POST['code'] == $sysop_code && $row['class'] == UC_SYSOP || $_POST['code'] == $admin_code && $row['class'] == UC_ADMINISTRATOR || $_POST['code'] == $mod_code  && $row['class'] == UC_MODERATOR))

ale dzięki za próbę pomocy winksmiley.jpg

Cytat
Po pierwsze wyrzuć ukryte pola z nazwą użytkownika i hasłem - są one widoczne w kodzie strony, a to nie jest bezpieczne.


czyli ze jak to mam zrobić? coś na podstawie sesji?
jak by to miało wyglądać?
Go to the top of the page
+Quote Post
SirZooro
post
Post #6





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


To super że sobie w końcu poradziłeś smile.gif

Odnośnie ostatniego pytania - po sprawdzeniu nazwy użytkownika i hasła zapisujesz w sesji jego identyfikator. Potem możesz na tej podstawie sprawdzić czy użytkownik jest już zalogowany, zamiast przesyłać login i hasło w ukrytych polach formularza.


--------------------
Go to the top of the page
+Quote Post
kubal
post
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


wybacz ale nie rozumiem sad.gif z sesjami nigdy nie miałem nic do czynienia sad.gif
Go to the top of the page
+Quote Post
SirZooro
post
Post #8





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


No wybacz, ale Google nie gryzie blink.gif


--------------------
Go to the top of the page
+Quote Post
kubal
post
Post #9





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


czytałem ale nic mi to nie dało sad.gif próbowałem tak:

session_start(); na początku pliku
i potem
Kod
if(!isset($session_id))
   $session_id = $username;

i
Kod
<input type="hidden" name="session_id" value="$session_id">

ale chyba źle :/

Proszę o pomoc sad.gif
Go to the top of the page
+Quote Post
ShadowD
post
Post #10





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Mog... ;p

Jak masz napisane sesionstart() na wszystkich stronach na których używasz sesji to wystarczy napisać:
$session_id='jakieś tam id';
po przejściu na następną stronę piszesz:
echo $session_id;
i wyświetla Ci się:
jakieś tam id
Tylko na obu stronach musisz mieć sesionstart() i nie musisz nic z formularzami robić formularze są tylko do zmiennych a w zasadzie do tablic $_GET, $_POST, pliki i tyle...


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
kubal
post
Post #11





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


próbuje już nie wiadomo jak długo i ciągle nie działa sad.gif
proszę o pomoc...
Go to the top of the page
+Quote Post
qrees
post
Post #12





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(ShadowD @ 8.08.2008, 21:22:00 ) *
Mog... ;p

Jak masz napisane sesionstart() na wszystkich stronach na których używasz sesji to wystarczy napisać:
$session_id='jakieś tam id';
po przejściu na następną stronę piszesz:
echo $session_id;
i wyświetla Ci się:
jakieś tam id
Tylko na obu stronach musisz mieć sesionstart() i nie musisz nic z formularzami robić formularze są tylko do zmiennych a w zasadzie do tablic $_GET, $_POST, pliki i tyle...

Jakim cudem session_id miałoby być widoczne na następnej stronie? przecież się tam nie teleportuje...
Tutaj jest przykład użycia sesji: http://pl2.php.net/manual/en/function.session-start.php , naprawdę tak trudno zajrzeć na jedną stronę?
Go to the top of the page
+Quote Post
jezoo
post
Post #13





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


Najprosciej jak mozna sesji do logowania uzyc to chyba tak, przyklad:

index.php
  1. <?php
  2. // Rozpocznij sesje
  3.  
  4. // Sprawdz czy istnieja sesje jezeli tak to przejdz dalej
  5. if(isset($_SESSION['uid']) && isset($_SESSION['kod'])) {
  6. // Sprawdz czy uid i haslo sa poprawne jezeli tak wyswietl strone
  7. if($_SESSION['uid'] == $uid && $_SESSION['kod']==$passwd)
  8. echo 'Witaj w tajnym dziale ;)';
  9. else
  10. // W przeciwnym wypadku wyswietl blad
  11. echo "To se ne da!";
  12. }else
  13. // Tutaj formularz do logowania lub
  14. // header('Location: plik.php);
  15. ?>


a jezeli chodzi o zapis do sesji to w pliku z autentykacja zapisz tak:
spr.php
  1. <?php
  2.  
  3. $_SESSION['uid'] = $_POST['uid'];
  4. $_SESSION['kod'] = $_POST['kod'];
  5.  
  6. header('Location: index.php');
  7. ?>


Ten post edytował jezoo 10.08.2008, 20:51:50
Go to the top of the page
+Quote Post
kubal
post
Post #14





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


ok dzięki winksmiley.jpg

a teraz mam już ostatnie pytanko ;] chciałbym hasła umieścić w innym pliku i zakodować je w md5
jak to zrobić.?
Go to the top of the page
+Quote Post
.radex
post
Post #15





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


najpierw stwórz sobie taki generator, który zahaszuje hasła do md5

  1. <?php
  2. echo md5('tutaj_haselko');
  3. ?>


jak już masz hash hasła, to wstawiasz go do pliku

  1. <?php
  2. $haselko = 'ab2348yjasdd23';
  3. ?>


i ten plik wczytujesz za pomocą include/require

  1. <?php
  2. include 'plik_z_haselkami.php';
  3. ?>


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
kubal
post
Post #16





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


ale to nie wszystko trzeba coś jeszcze zmienić w tym if-ie
Kod
if (isset($_POST['code']) && ($_POST['code'] == $sysop_code && $row['class'] == UC_SYSOP || $_POST['code'] == $admin_code && $row['class'] == UC_ADMINISTRATOR || $_POST['code'] == $mod_code  && $row['class'] == UC_MODERATOR))

tylko co...?!
Go to the top of the page
+Quote Post
.radex
post
Post #17





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


  1. <?php
  2. if (isset($_POST['code']) && (md5($_POST['code']) == $sysop_code && $row['class'] == UC_SYSOP || md5($_POST['code']) == $admin_code && $row['class'] == UC_ADMINISTRATOR || md5($_POST['code']) == $mod_code && $row['class'] == UC_MODERATOR))
  3. ?>


Reszty chyba nie muszę tłumaczyć.


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
kubal
post
Post #18





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 17.06.2008
Skąd: się bierze ten lubieżny uśmiech na Twojej twarzy?

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


to wielkie dzięki za pomoc winksmiley.jpg
teraz wszystko jest tak jak chciałem winksmiley.jpg
Go to the top of the page
+Quote Post

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: 22.08.2025 - 11:14