Technikhilfe!

Wir lösen deine Technik-Probleme

simpson-fan

GET-Befehl welcher nicht da ist

> n3or darf ich dich was fragen?
Ne.. bloß nicht.. ich hab was gegen Fragen --> -->
*g*

0

👍

 

👎

0
[Melden]

Kommentare (8)

Anonymous

Hallo ich hab eine Frage!
Es geht um eine GET-Variable welche über die URL übergeben wird.
[code]if ($_GET['action'] == "home")[/code]
Ich würde jetzt gerne eine if-Bedingung schreiben wenn die Variable leer ist, wenn nach dem index.php (also statt im oberen Fall index.php?action=home) nichts steht, also index.php ohne Anhängsel --> title=-->.
[code]if ($_GET['action'] == "")[/code] funktioniert schonmal nicht.
Danke!
Gruß simpson-fan
0

👍

 

👎

0

Antworten

Anonymous

Ich würds so machn
[code]if (!isset($_GET['action']))[/code]
0

👍

 

👎

0

Antworten

n3or

[code]if (!isset($_GET['action'])) {
// Zeige Startseite..
}[/code]
Als kleiner Tip, steck alle erlaubten Aktionen in ein Array und überprüfe die Aktion damit.
[code]$erlaubt = array('start', 'team', 'test', 'bli');
if (!isset($_GET['action']) or !in_array($_GET['action'], $erlaubt))
{
// Zeige Startseite..
}[/code]
mfg
n3or
0

👍

 

👎

0

Antworten

Anonymous

MOin!
> ich würds so machn
[code]if (!isset($_GET['action']))[/code]
Danke! Funktionert wunderbar jetzt.

n3or darf ich dich was fragen?
0

👍

 

👎

0

Antworten

Anonymous

Okay dann nicht --> title=-->

editist grad eingefallen dass dein Satz ein Witze hätte sein können, alsobewirken deine Zeilen da oben?
0

👍

 

👎

0

Antworten

Anonymous

So wie ich das seh bewirkt das einfach, dass man der variable $_GET['action'] nur die sachen zuweisen darf die im array $erlaubt enthalten sind, sonst gehts zur startseite --> -->
hoff das stimmt so
0

👍

 

👎

0

Antworten

n3or

Damit wird die Aktion validiert, als beispiel folgendes (in der Realität häufig anzutreffendes Skript):
[code]// bli
include('./sites/'.$_GET['action'].'.php');
// bla[/code]
Sollte jetzt jemand anstelle von home, oder ähnlich ungefährliches Zeug einen Pfad übergeben, kann so eigentlich jede beliebige Datei (auf die der Webserver-Benutzer zugriff hat) inkludiert werden.

In dem Array sind nur die Seiten die auch wirklich aufgerufen werden dürfen (entweder manuell gefüllt oder per readdir/scandir etc.). Durch den Abgleich werden oben genannte Aktionen verhindert.
Ich hoffe das war einigermaßen verständlich.
mfg
n3or
EDITLenfer hat es auf den Punkt gebracht *g*
0

👍

 

👎

0

Antworten

Anonymous

Hi!
Habs verstanden. Allerdings tritt dieses Problem nicht auf, da ich so einen Code-Teil
[code] // bli
include('./sites/'.$_GET['action'].'.php');
// bla[/code]
nicht eingebaut habe, ich hab praktisch jede Seite manuell includiert.
Danke
Gruß simpson-fan
0

👍

 

👎

0

Antworten

Die Diskussion zu diesem Thema wurde geschlossen

Klicke hier, um ein neues Thema zu starten!

Startseite ☰ Menü ⇑ Nach oben