[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.
User avatar
Mari
Community Veteran
Community Veteran
Poland
Сообщения: 244
Зарегистрирован: Sat Dec 02, 2006 10:32 pm

[PHP]Używanie GET w wylogowywaniu

Post 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?
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
Сообщения: 2898
Зарегистрирован: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: [PHP]Używanie GET w wylogowywaniu

Post Radzio »

Bez różnicy.
User avatar
Mari
Community Veteran
Community Veteran
Poland
Сообщения: 244
Зарегистрирован: Sat Dec 02, 2006 10:32 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post 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
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
User avatar
pomek
Soldier level 7
Soldier level 7
Poland
Сообщения: 656
Зарегистрирован: Mon May 03, 2010 9:05 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post 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.
Sebastian
Soldier level 0
Soldier level 0
Сообщения: 9
Зарегистрирован: Mon Dec 14, 2015 7:33 pm

Re: [PHP]Używanie GET w wylogowywaniu

Post 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
Сообщения: 398
Зарегистрирован: Tue Mar 08, 2011 8:37 am

Re: [PHP]Używanie GET w wylogowywaniu

Post Bren »

Image
*Matrix* wrote:Nie ma czegos takiego jak mniej niz polowa lub wiecej niz polowa...
Polowa to polowa.
Ответить