GET variable codieren

mrtest

Mitglied
Hallo,

hab eine Frage und hofe, dass mir jemand helfen kann.
Ich möchte eine PHP datei aufrufen und diesen mittels $_GET eine Variable übergeben.
Nun hab ich mir gedacht, dass ich ja nicht unbedingt möchte, das jeder diese Variable in der Adressleiste des Browsers im klartext sehen muss..

Code:
<a href="file.php?var=hallo">link</a>

Gibt es eine Möglichkeit solche Variablen zu kodieren und wenn ja wie werden sie dekodiert.
 
@Sebigf:
Wenn die Variable im URL uebergeben wird ist es nunmal GET, da kann man dann nicht "mal eben" auf POST ausweichen.

Eine einfache Art die Daten zu encoden, um sie auch wieder decoden zu koennen stellt Base64 dar. Das dient natuerlich nicht wirklich der Sicherheit, da Base64 keine echte Verschluesselung ist und sehr einfach wieder decodiert werden kann.
Jedoch denke ich ist es ausreichend um Daten welche im URL uebertragen werden vor einem ersten Blick zu schuetzen. Wer dann die eigentlichen Daten will, der bekommt sie natuerlich auch recht einfach, aber immerhin werden die Daten zumindest vor unversierten Nutzern "geheim" gehalten.
 
Danke erst mal für die schnelle antwort.
Da ich aber gerade php lernen, wurde mir ein beispiel sicherlich etwas weiter helfen.
 
@reptiler: Sorry, dass ich schon wieder eine weitere Möglichkeit zu Deinem Post in den Raum werfe :p

@mrtest: Du könntest die eigentlichen Daten auch in einer Session oder in einer Datenbank speichern. Bevor Du den Link erzeugst speicherst Du die Daten und in dem Link übergibst Du nur eine id, z.B. den Arrayindex eines in der Session gespeicherten Arrays oder den Primärschlüssel einer Datenbanktabelle.

Wenn es nicht sicherheitsrelevant ist und die übergebenen Daten nicht allzu groß sind, ist die Variante von reptiler jedoch vorzuziehen, da mein Vorschlag sonst unnötigen Programmieraufwand hervorruft.

Gruß hpvw
 
Also ich hab gerade etwas ausprobiert

$category = base64_encode(hallo);
echo '<a href=\"checkCategory.php?category=$category\">weiter</a>';

bekomme aber wenn ich die date checkCategory aufrufe die meldung

"You don't have permission to access /"checkCategory.php on this server."


muss ich die variable vielleicht hier decodieren
 
@ V4A

Ja die möglichkeit hab ich, da ich meine sessions sowieso in der db speichere.
aber lieber wäre mir die möglichkeit mir base64, da ich hier nicht soviel programmieraufwand betreiben muss. Denke ich
 
Das dient natuerlich nicht wirklich der Sicherheit, da Base64 keine echte Verschluesselung ist und sehr einfach wieder decodiert werden kann.
Base64 ist nicht nur keine echte Verschlüsselung, sondern überhaupt keine Verschlüsselung. Es ist vielmehr eine Kodierung, bei der jedes beliebige Zeichen durch eine Zeichenfolge von ASCII-Zeichen dargestellt wird.

Mrtest — Probier mal Folgendes:
PHP:
<?php

	…
	echo '<a href="checkCategory.php?category='.base64_encode('hallo').'">weiter</a>';
	…

?>
 
Zurück