Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL]Logowanie
MS1
post 3.08.2008, 13:57:52
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 3.08.2008

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


Witam.
Stworzyłem system logowania tak jak podano na tej stronie:
http://webmade.org/porady/sesje-php-system-logowania.php

Mógłby mi ktoś pomóc zwiększyć poziom bezpieczeństa systemu??
Również, nie wiem jak zrobić to, że gdy wpisujemy hasło w budkę, wyświetlały się gwiazdki zamiast liter.

Również zastanawiam się jak zrobić logowanie dla uprawnionych użytkowników np. adminów, tzw power users

Z góry dzięki

Pozdrawiam

Ten post edytował MS1 3.08.2008, 14:17:27


--------------------
Check this out +++ Extremedomain.pl +++
Go to the top of the page
+Quote Post
Max Damage
post 3.08.2008, 14:21:29
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Z tymi gwaizdkami masz na myśli to?
  1. <input name="pass" type="password" />

Logowanie dla użytkowników o wyższej randze można zrobić przez sprawdzenie statusu. np. 1 oznacza zwykłego usera, 2 admina itd. Oczywiście musisz mieć odpowiednią kolumnę w bazie danych.


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
MS1
post 3.08.2008, 19:58:39
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 3.08.2008

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


Dzięki, nie myślałem, że to będzie takie proste.
Jeśli chodzi o rangę logowania, to wie ktoś jak przypisać rangę userowi??

A jeśli chodzi o bezpieczeństwo to jak??
Słyszałem, że logowanie oparte na sesjach, nie jest zbyt bezpieczne.
Ściema czy prawda??
Pozdro


--------------------
Check this out +++ Extremedomain.pl +++
Go to the top of the page
+Quote Post
Lars
post 3.08.2008, 20:07:33
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 15
Dołączył: 29.04.2005
Skąd: Gdynia

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


Co do sesji to zdecydowanie ściema. Jest to rozwiązanie najbezpieczniejsze.

Co do rang - robisz tabelę z rangami z polem `id_rangi` i `uprawnienia`, dodajesz do tabeli użytkowników pole `ranga_usera` a w niej numer id jakiejś rangi. Potem sprawdzasz jaką user ma rangę i uprawnienia. Mam nadzieję, że wyjaśniłem to jasno tongue.gif

Pozdrawiam


--------------------
(\.../) This is Bunny. Copy and paste bunny into
(O.o) your signature to help him gain world domination.
(> <) Zanim zapytasz | Też się przyda | Pomogłem ci? Kliknij "Pomógł"
Go to the top of the page
+Quote Post
kayy
post 4.08.2008, 10:19:04
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Ja wyjaśnie jaśniej może ;D



Tworzysz pole rang, i przy rejestracji do zapytania dodajesz to pole i domyślna wartość 0. A pod adminów, edytujesz je z panelu admina (jeżeli takowy masz dopisz zapytania) lub ręcznie z PHP MY ADMIN smile.gif

A potem sprawdzasz w panelu admina, sesje którą przekazujesz przy rejestracji, np. $_SESSION['rang'];

i sprawdzasz, if($_SESSION['rang'] > 1) {}

Ja u siebie mam sprawdzanie po, nazwie użytkownika, jego ip i specjalnie wygenerowanej liczbie.

Jeżeli masz pytania to pisz na gg 5086051


--------------------

Dziękuję wszystkim za pomoc w PHP :)
Go to the top of the page
+Quote Post
--Irena--
post 25.08.2011, 16:32:30
Post #6





Goście







Witam, zrobiłam właśnie logowanie do swojej strony. Teraz chciałabym, aby osoba zalogowana, która dodaje newsa, podpisywała się wyłącznie za pomocą loginu. Jak to zrobić?

Oto mój panel dodawania newsa, dostępny dla wszystkich:

CODE

<?
extract($_GET);
if(!($db=mysql_connect ("costamcos", "costamcos", "blabla")))die('Nie można się połączyć z serwerem bazy danych: ' . mysql_error());
if(!mysql_select_db('costamcos'))die('Nie znaleziono bazy danych: '. mysql_error());
$sql="INSERT INTO newsy VALUES (NULL, NOW(), '$temat', '$tresc', '$autor');";
if(!(mysql_query ($sql, $db)))die('Błąd modyfikacji bazy: ' . mysql_error());
mysql_close ($db);
header("Refresh: 2; index.php?id=newsy"); // przekierowanie
?>


Oraz strona, na której wyświetlają się newsy:

CODE

<div align="left"><p align="justify">
<?
if(!($db=mysql_connect ("costamcos", "costamcos", "blabla")))die('Nie można się połączyć z serwerem bazy danych: ' . mysql_error());
if(!mysql_select_db('costamcos'))die('Nie znaleziono bazy danych: '. mysql_error());
$sql = 'SELECT * FROM newsy ORDER BY czas DESC LIMIT 0, 30' ;
if(!($q=mysql_query ($sql, $db)))die('Błąd Zapytania: ' . mysql_error());
while ($row = mysql_fetch_array($q, MYSQL_ASSOC))
{
printf("<br><h1>%s<font size=1pt><i>&nbsp;%s</i></h1></font>", $row["temat"],$row["czas"]);
printf("<div align=justify>%s</div>", $row["tresc"]);
printf("<i>%s</i>", $row["autor"]);
printf("<div align=right><a href=\"index.php?id=komentarze&id_newsa=%s\">Komentarze <img src=/grafika/dymek.gif border=0px/>&nbsp;</a></div><br/>",$row["id"]);
}
mysql_free_result($q);
mysql_close ($db);
?>
</div>


W sumie nie znam się na tym, za tę część roboty odpowiedzialny jest mój brat. Jak na razie wszystko działa, ale mogłoby na pewno działać jeszcze lepiej tongue.gif
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:56