[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
User avatar

Topic author
Mari
Community Veteran
Community Veteran
Poland
Posts: 257
Joined: Sat Dec 02, 2006 10:32 pm
Contact:

[PHP]Używanie GET w wylogowywaniu

#1

Post by Mari » Sat Oct 16, 2010 5:01 pm

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
Posts: 2930
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: [PHP]Używanie GET w wylogowywaniu

#2

Post by Radzio » Sat Oct 16, 2010 5:06 pm

Bez różnicy.

User avatar

Topic author
Mari
Community Veteran
Community Veteran
Poland
Posts: 257
Joined: Sat Dec 02, 2006 10:32 pm
Contact:

Re: [PHP]Używanie GET w wylogowywaniu

#3

Post by Mari » Sat Oct 16, 2010 5:11 pm

Ż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
Posts: 682
Joined: Mon May 03, 2010 9:05 pm
Contact:

Re: [PHP]Używanie GET w wylogowywaniu

#4

Post by pomek » Wed Nov 24, 2010 12:43 am

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 1
Soldier level 1
Posts: 14
Joined: Mon Dec 14, 2015 7:33 pm

Re: [PHP]Używanie GET w wylogowywaniu

#5

Post by Sebastian » Wed Dec 23, 2015 8:42 am

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: 400
Joined: Tue Mar 08, 2011 8:37 am

Re: [PHP]Używanie GET w wylogowywaniu

#6

Post by Bren » Wed Dec 23, 2015 10:25 am

Image
Nie jem śniadania, bo gram w Original War.
Nie jem obiadu, bo gram w Original War
Nie jem kolacji, bo gram w Original War.
Nie śpię, bo jestem głodny.
*Matrix* wrote:Nie ma czegos takiego jak mniej niz polowa lub wiecej niz polowa...
Polowa to polowa.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest