• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

logowanie PHP

0 głosów
1,420 wizyt
pytanie zadane 3 grudnia 2020 w PHP przez kvbbs Nowicjusz (150 p.)

<?php
if (IsSet($_POST['username']) && IsSet($_POST['pass'])) {
unset($_SESSION);
session_start();
 
   $open = fopen("uzytkownicy.txt", "r"); // w pliku uzytkownicy.txt mamy liste userow z haslami w formacie JSON
   $open_txt = fread($open, filesize("uzytkownicy.txt")); // czytamy zawartosc pliku
   $open_txt = json_decode($open_txt, true); // "odkodowujemy"
   fclose($open); // zamykamy zbedny plik
 
   for ($i=1; $i<count($open_txt['user'])+1; $i++) {
        if ($open_txt['user'][$i]['name'] == $_POST['username'] && $open_txt['user'][$i]['pass'] == $_POST['pass']) {
            $_SESSION['user'] = $_POST['username'];
            $_SESSION['pass'] = $_POST['pass'];
            break;
        }
   }
}
?>

Cześć. Znalazłem na jakimś forum pelny kod PHP do zrobienia logowania na mojej stronce. Użytkownik który to wysłał napisał że w pliku uzytkownicy.txt nalezy zapisac dane logowania w formacie json. Chciałby ktoś powiedzieć jak mam to zrobić? Logowanie będzie tylko dla jednej osoby 

 

1
komentarz 3 grudnia 2020 przez CubeStorm Pasjonat (15,000 p.)
Jeśli tak, to odradzam takiego postępowania. Nie trudno o źle wykonany kod.
komentarz 3 grudnia 2020 przez wizarddos Nałogowiec (28,110 p.)

@kvbbs, Z doświadczenia wiadomo że tak więc Jeżeli to jest prawda to Lepiej się doucz PHP a takie rzeczy będziesz umiał robić sam. A to chyba lepsze nie?

komentarz 3 grudnia 2020 przez kvbbs Nowicjusz (150 p.)
Potrzebuję logowania tylko dla siebie dlatego nie wiem czy jest sens używać mysql
1
komentarz 4 grudnia 2020 przez wizarddos Nałogowiec (28,110 p.)
Jest i to duży. Bo to nawet lepsze niż JSON i baza w txt
komentarz 22 grudnia 2020 przez Michał Kazula Pasjonat (19,520 p.)

@kvbbs, Trochę podpowiem: https://pl.wikipedia.org/wiki/JSON

Musisz w pliku zapisać dane logowania w formacie JSON ;-)

A struktura danych zaszyta jest w if-e w pętli ;-p

1 odpowiedź

0 głosów
odpowiedź 30 grudnia 2020 przez Paweł Klimowicz Nowicjusz (160 p.)

Dawno nie kodowałem w PHP, ale jak dla mnie jak chcesz mieć tylko jednego usera to jak dla mnie dawanie pliku jest bez sensu.
Ja bym poszedł coś w stylu:

<?php
$username = "twojlogin";
$password = "zakodowanehasło"; // Kiedyś się używało md5(), a teraz jest mało bezpieczne i wypadało by poszukać i zastąpić czymś obecnie polecanym
if (IsSet($_POST['username']) && IsSet($_POST['pass'])) {
  unset($_SESSION);
  session_start();
  if($_POST['username']==$username && md5($_POST['pass'])==$password){
    $_SESSION['user'] = $_POST['username'];
    // zapisanie zmiennej hasło do sesji raczej jest średnim pomysłem jak w przykładzie
  }
}
?>

Czy nie zrobiłem jakiegoś byka nie dam głowy, bo nie testwałem i pisałem z palca, ale myślę że sam sposób podejścia jest zrozumiały.

Podobne pytania

0 głosów
0 odpowiedzi 357 wizyt
pytanie zadane 4 listopada 2024 w Inne języki przez tubylec01 Obywatel (1,610 p.)
0 głosów
1 odpowiedź 992 wizyt
0 głosów
0 odpowiedzi 514 wizyt
pytanie zadane 24 listopada 2021 w PHP przez BarSki13 Obywatel (1,270 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...