Zum Inhalt springen

Post Array von externem Aufruf

Erstellt am 18. August 2006 · 8 Antworten · letzte Antwort am 29. August 2006

Tags: Frage

el_migu_el ·

Hallo

Ich habe eine eigene extension welche ein, von einem externen Script via html form gesendetem, Post Array () annehmen soll.

Die extension / seite hat aber immer ein leeres Post (oder auch Get) Array.

Ich gehen davon aus, dass es sich um ein Sicherheitsmechanismus handelt, welches die Post / Get arrays von extern löscht. Lässt sich dieser irgendwie umgehen oder ausschalten?

besten Dank

el_migu_el

nicki4lu ·

Hallo,

das GET-Array sollte sich ja leicht nachvollziehen lassen, da hier die Angaben ja in der URL übermittelt werden.

Kannst du eventuelle dein php posten? Hast du es auch mit $_GET und $_POST versucht?

Liebe Grüße,
Nicole

el_migu_el ·

Hallo Nicole,

Ja ich habe es auch mit dem GET versucht, (ein eifaches [​url]?test=hallo) welches radikal wegrasiert wurde.

Da es sehr viel Code ist habe ich am anfang der extensionen Test gemacht

... function main($content,$conf)	{
		$this->conf=$conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
		$this->pi_USER_INT_obj=1;

		$content .= '<!-- +1+1+ '.$_POST.' '.count($_POST) .' -->';
		foreach( $_POST as $key => $value ) {
			$content .= "<!-- *** $key | $value -->";
		}
...

die Ausgabe im HTML ist leer

...
<!-- +1+1+ Array 0 --><h1>
...

Das POST sowie GET Array sind 100% abgefüllt, da ein php-Script welches nur ein print_r($_POST) macht alle Daten ausgibt. Ich muss also davon ausgehen, dass Typo3 da was mit dem Array macht. Muss dazu sagen das ich kein Typo3-Kenner bin.

Danke Dir und allen folgenden

liebe grüsse

Michel

nicki4lu ·

Hallo,

ein Get, welches "weggerissen" wird, hört sich verdammt stark nach ner Weiterleitung an. Und das würde auch erklären, warum keine POST-Variablen übergeben werden.

Du hast gesagt, dass es mit print_r($_POST) geklappt hat, aber wenn ich das richtig verstehe, dann nicht in der Typo3 Umgebung oder? Kann es sein, dass die Adresse durch nen weiteren php-header weitergeleitet wird?

Liebe Grüße,
Nicole

el_migu_el ·

Hallo Nicole,

du verstehst das genau richtig 🙂
und genau sowas denke ich mir eben auch,
ich mache in meiner extension keine Weiterleitung oder ähnliches.

Die extension kann zb GET Variablen welche sie sich selber (PHP_SELF) übergibt,
sehen (bzw sie existieren noch), jedoch von einem externen Script nicht mehr.
Dies veranlast mich zur Annahme das Typo3 einen Sicherheitsmechanismus hat,
welcher genau dies verhindert. Ansich ist das ja eine gute Sache, nur in meinem
speziellen Fall jetzt leider nicht 🙁

danke vielmals für deine Hilfe Nicole

nicki4lu ·

Hallo,

also ganz ehrlich glaube ich nicht, dass Typo3 so einen Schutz besitzt, da ich über die extension php_page_script oder so ähnlich, weiß grad nicht genau) auch Formulareingaben überprüfe etc...

Liebe Grüße,
Nicole

crimson ·

Hallo,

Ihr könnt Variablen an Euer Script nur übergeben wenn Ihr sie richtig benennt.

Hier ein Beispiel:

$meineLinkConf=array(
	"no_cache" => 0,
	"parameter" => uid_der_zielseite,
	"additionalParams" => "&extensionName_pi1[VariablenNamen]= meinWert",
	"useCacheHash" => 1);

$meinLink = $this->cObj->typolink('Name_des_links', $meineLinkConf);

"&extensionName_pi1[VariablenNamen]= meinWert wird dann an Eure URL angehängt.

Auswerten könnt Ihr den übergebenen Wert dann mit:
$this->piVars['VariablenNamen']

So sieht dass dann in der Praxis aus: http://www.cineplex.de/index.php?id=423&tx_detailseite_pi1[fid]=7146&cHash=71adaf7a77

Eine Doku dazu gibt es aber auch irgendwo auf der T3.org...

der André

steffenk ·

das Problem ist ganz anderer Natur - wenn die Seite gecachet ist, holt er sie aus dem Cache und daher kommen auch die POST oder GET nicht an.

So funktioniert es immer:

url&no_cache=1&par=wert

Die Parameter sollten aber mit der Typoeigenen Funktion ausgelesen werden:

t3lib_div::_GP('varname')

Dabei ist es egal ob es GET oder POST ist, GP steht für GETPOST

Das Beispiel von crimson bezieht sich auf Extensioneigene Links, wobei der richtige Präfix

tx_extname_pi1['varname']

lautet.

el_migu_el ·

Hallo steffenk,

Das wars anscheinend wirklich mit dem Cache!
Manchmal sieht man den Wald vor lauter Bäumen nicht :o

Besten Dank

...auch für die kleine Lernhilfe betreffend 'Auslesen von GP'

liebe Grüsse

Michel