[PHP]Używanie GET w wylogowywaniu

Dział stworzony do rozmów o programowaniu i tworzeniu stron internetowych. Oprócz tematów związanych z SAIL'em.
Post Reply
Awatar użytkownika
Mari
Community Veteran
Community Veteran
Poland
Posts: 244
Joined: sob gru 02, 2006 10:32 pm

[PHP]Używanie GET w wylogowywaniu

Post by Mari »

Czy używanie metody GET w wylogowywaniu jest bezpieczne?
Podam przykład:

Kod: Zaznacz cały

if($_GET['wyloguj']=='tak')
	{
	echo "Zostałeś wylogowany z serwisu";
	session_destroy();
	}
Ten kod powoduje,że jeżeli wpiszemy w adres przeglądarki www.naszastrona.pl?wyloguj=tak to wyświetli napis "Zostałeś wylogowany z serwisu" i zniszczy sesje ale czy na pewno to jest bezpieczne bo w sumie nie wiem?
Do you not know that you are a temple of God and that the Spirit of God dwells in you?If any man destroys the temple of God, God will destroy him, for the temple of God is holy, and that is what you are. 1 Kor 3,16-23
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: pt lip 28, 2006 10:58 am
Lokalizacja: Bialystok, Poland

Re: [PHP]Używanie GET w wylogowywaniu

Post by Radzio »

Bez różnicy.
Awatar użytkownika
Mari
Community Veteran
Community Veteran
Poland
Posts: 244
Joined: sob gru 02, 2006 10:32 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post by Mari »

Żeby nie tworzyć nowych tematów opiszę jeszcze jeden problem z formularzem.
Otóż chce aby formularz pokazywał się tylko raz na początku i wtedy gdy wpiszemy złe hasło a na razie pokazuje się dwa razy czyli i ten początkowy i tamten gdy wpiszemy źle hasło.Jak zrobić żeby tylko raz się pokazywało gdy wpiszemy niewłaściwe hasło.
Podaje kod:

Kod: Zaznacz cały

<form action="panel.php" method="post">
	<input type="password" name="pass1" />
	<input type="submit" value="Zaloguj"/>
</form>
	<?php 
	if($_GET['wyl1']=='yes')
	{
	echo "Zostałeś wylogowany z serwisu";
	session_destroy();
	}
	
	if (isset($_POST['pass1']))
	
{
if ($_POST['pass1'] == 'siema')
{
echo 'Jesteś zalogowany';
?>
</br></br></br><a href='panel.php?wyl1=yes'>Wyloguj się</a>
<?php
}
else
{
echo 'Nie jesteś zalogowany';
?>
<form action="panel.php" method="post">
	<input type="password" name="pass1" />
	<input type="submit" value="Zaloguj"/>
</form>
<?php
}
}
?>

Dobra sprawa rozwiązana po prostu dać

Kod: Zaznacz cały

header('location: panel.php');
jeżeli ktoś jest niezalogowany i powracasz tym kodem do pierwotnego formularza.
Jest tylko ten problem,że aby użyć tego to nie możesz nic wysłać przed tym do przeglądarki żadnego tekstu.Czyli kod musimy dać na samym początku.
Pozdrawiam
Do you not know that you are a temple of God and that the Spirit of God dwells in you?If any man destroys the temple of God, God will destroy him, for the temple of God is holy, and that is what you are. 1 Kor 3,16-23
Awatar użytkownika
pomek
Soldier level 7
Soldier level 7
Poland
Posts: 656
Joined: pn maja 03, 2010 9:05 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post by pomek »

Mari pisze:Czy używanie metody GET w wylogowywaniu jest bezpieczne?
W postaci niezabezpieczonej - nie

A odnosnie formularza, nie lepiej ogarnac to w funkcje? Osobiscie jestem zwolennikiem klas, ale pstryknalbym to w taki sposob:

Kod: Zaznacz cały

function form($error = "") { if(!empty($error)) { echo $error.'<br />'; } 
// kod formularza }
W miejscu gdzie ma sie pojawic formularz pstrzykasz echo $form();
Jesli chcesz wyswietlic blad, to jako wpisujesz go jako parametr funkcji Form.
Sebastian
Soldier level 0
Soldier level 0
Posts: 9
Joined: pn gru 14, 2015 7:33 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post by Sebastian »

Odkop, ale cóż

if($_GET['wyl1']=='yes')


a co jak ktoś ci nie poda parametru wyl1? :>
if(isset($_GET['wyl1']) && $_GET['wyl1'] == 'yes')
Bren
Soldier level 6
Soldier level 6
Indonesia
Posts: 398
Joined: wt mar 08, 2011 8:37 am

Re: [PHP]Używanie GET w wylogowywaniu

Post by Bren »

Obrazek
*Matrix* pisze:Nie ma czegos takiego jak mniej niz polowa lub wiecej niz polowa...
Polowa to polowa.
Post Reply