Page 1 of 1

[PHP]Używanie GET w wylogowywaniu

Posted: Sat Oct 16, 2010 5:01 pm
by Mari
Czy używanie metody GET w wylogowywaniu jest bezpieczne?
Podam przykład:

Code: Select all

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?

Re: [PHP]Używanie GET w wylogowywaniu

Posted: Sat Oct 16, 2010 5:06 pm
by Radzio
Bez różnicy.

Re: [PHP]Używanie GET w wylogowywaniu

Posted: Sat Oct 16, 2010 5:11 pm
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:

Code: Select all

<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ć

Code: Select all

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

Re: [PHP]Używanie GET w wylogowywaniu

Posted: Wed Nov 24, 2010 12:43 am
by pomek
Mari wrote: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:

Code: Select all

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.

Re: [PHP]Używanie GET w wylogowywaniu

Posted: Wed Dec 23, 2015 8:42 am
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')

Re: [PHP]Używanie GET w wylogowywaniu

Posted: Wed Dec 23, 2015 10:25 am
by Bren
Image