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

Utworzenie edytowalnych paragrafów JavaScript/PHP

Object Storage Arubacloud
0 głosów
138 wizyt
pytanie zadane 26 grudnia 2018 w JavaScript przez Maciek96 Nowicjusz (180 p.)

Cześć,

Piszę stronę na której utworzyłem prosty system logowania za pomocą sesji w PHP. Po naciśnięciu przycisku "Zaloguj się" wyskakuje okno (pop-up), w którym wpisujemy nazwę użytkownika oraz hasło i te dane są wysyłane na serwer gdzie PHP interpretuje je za pomocą instrukcji warunkowej i w tym momencie kiedy warunek jest spełniony rozpoczyna się sesja logowania. A kiedy klikniemy na przycisk "Wyloguj", skrypt PHP kończy sesję logowania. Moje pytanie jest następujące czy w JavaScript jest możliwość skonstruowania jakiejś funkcji która będzie wiedziała, że użytkownik jest zalogowany i w tym momencie przestawi wszystkie paragrafy na edytowalne. Wiem, że JavaScript nie będzie wiedziała, że użytkownik się zalogował bo to sprawdza PHP. Wstawiam moje skrypty PHP oraz JavaScript.

var modal = document.getElementById('id01');

window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
 
}



function loggedin() {
	
	var zalogowano = false;
	
	var username = document.getElementById("uname").value;
	var password = document.getElementById("psw").value;
	
	if (username == "Administrator" && password == "zaq1@WSX"){
		zalogowano = true;
		void(document.all.ne.contentEditable='true');
		
	} else {
		zalogowano = false;
	}
	
	alert("logowanie: "+zalogowano);
	
}

<?php
	session_start();
	if(isSet($_POST['signin']))
	{
		if($_POST['uname']=='Administrator' && $_POST['psw']=='zaq1@WSX')
		{
			$_SESSION['loggedin']=$_POST['uname'];
			header("location: index.html");
		} else
		{
			header("location: index.html");
		}
	}
	if(isSet($_SESSION['loggedin']))
	{
		header("location: index.html");
	}
?>
<?php
session_start();
if(!isSet($_SESSION['loggedin']))
{
	header("location: index.html");
}
session_destroy();
echo "Wylogowanie przebiegło pomyślnie. <a href='index.html'> Zaloguj ponownie</a>";
?>

1 odpowiedź

+1 głos
odpowiedź 26 grudnia 2018 przez Ehlert Ekspert (212,670 p.)
  1. Wykonujesz kluczową logikę bezpieczeństwa po stronie js. Nie powinno się tak robić. 
  2. Po header Location użyj die. 
  3. Jeśli js ma wiedzieć że user jest zalogowany to powinieneś ajaxem wysłać request i sprawdzić czy w sesji jest coś ustawione. 
  4. == vs ===
  5. Poczytaj o standardzie psr2
  6. Zainteresuj się obiektowoscią. Na ogarnianie logowania itp itd przyjdzie czas. Nauka OOP to dobry wstęp do korzystania z frameworków: te posiadają wiele gotowych mechanizmów autoryzacji pozbawionych błędów, które sam na początku popełniasz. 
komentarz 26 grudnia 2018 przez Maciek96 Nowicjusz (180 p.)

Cześć,

Dzięki za wskazówki zaraz to przerobię. wink

Co do punktu nr.1 wiem, że nie powinno się tak robić tą funkcję stworzyłem na testy. 

Podobne pytania

0 głosów
2 odpowiedzi 192 wizyt
pytanie zadane 11 września 2018 w HTML i CSS przez wordes94 Użytkownik (670 p.)
0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 12 maja 2022 w JavaScript przez chrystian Gaduła (4,780 p.)
0 głosów
1 odpowiedź 117 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...