[TYPO3-german] Post request + typo3
Benno Weinzierl
benno_weinzierl at web.de
Mon Feb 4 19:59:18 CET 2008
Curl ist eine Bibliothek mit der du u.a. HTTP-Anfragen stellen kannst.
Da dein PHP-Script, in dem du einen CURL-Request ausführst auf dem Server
selbst ausgeführt wird (und nicht wie Javascript auf dem Client)
wird dein Server einen CURL-Request (mit den POST-Variablen) an sich selbst
stellen. D.h. der Client (der user der die Seite besucht) bekommt davon
nichts mit.
Der Session-Cookie wird also nicht beim user erstellt => er ist auch nicht
eingeloggt. (Außer du überträgst irgendwie die Sessionid oder so)
Das kann also unmöglich funktionieren. Oder ich hab immernoch nicht kapiert
was du meinst :-)
"David Aichinger" <david at liwest.at> schrieb im Newsbeitrag
news:mailman.1.1202070033.15208.typo3-german at lists.netfielders.de...
> Danke für deine antwort, ich habe allerdings schon rausgefunden, dass
> typo3
> auf 4 post variablen wartet fürn login, die eine is logintype, dann
> user,pass und pid der feuser-storage page
>
> ich möchte nach erfolgreichem login also lediglich die richtigen post
> variablen setzen, ohne extra ein formular per javascript füllen zu müssen
> wie es jetzt ist, habe auch schon in einem Forum herrausgefunden, dass
> dies
> per Curl ganz gut ginge
>
>
>
> "Benno Weinzierl" <benno_weinzierl at web.de> schrieb im Newsbeitrag
> news:mailman.1.1202056734.17325.typo3-german at lists.netfielders.de...
>> Noch etwas:
>>
>> Wenn ich das richtig verstehe dann willst du einen User durch deine
>> Extension authentifizieren.
>> Da das untere Script (PHP) aber Serverseitig läuft stellt der Server eine
>> Anfrage an sich selbst und loggt sich bei sich selbst ein, nicht den
>> user.
>> Das kann also sowieso nicht funktionieren. Die Soket-Verbindung wird ja
>> vom Server aus initialisiert.
>>
>> "Benno Weinzierl" <benno_weinzierl at web.de> schrieb im Newsbeitrag
>> news:mailman.1.1202055868.11398.typo3-german at lists.netfielders.de...
>>> Hallo David,
>>>
>>> ich glaube du brauchst da eher einen Typo3-Service (auth).
>>> Damit kannst du eigene Authentifizierungs-Methoden implementieren.
>>>
>>> Ein Beispiel zum abschauen:
>>> cc_iplogin_fe
>>> Da werden die User über IP authetifiziert (nur für Entwicklung benutzen,
>>> ist natürlich nicht sicher).
>>>
>>> Gruß, Benno
>>>
>>> P.S.: Der content steht immer über allem wenn er durch "echo" von einer
>>> Extension zurückgegeben wird. Den content musst du mit return
>>> zurückgeben.
>>>
>>>
>>>
>>> "David Aichinger" <david at liwest.at> schrieb im Newsbeitrag
>>> news:mailman.1.1201957384.31611.typo3-german at lists.netfielders.de...
>>>> Hi leute,
>>>>
>>>> Ich würde gerne ein paar Post daten OHNE Formular (genauer gesagt
>>>> logintype evt. für nen eigenen FE login) von meiner extension
>>>> rausjagen.
>>>>
>>>> Ich hab dazu auch ein passendes php script gefunden, dass sich leider
>>>> als total unbrauchbar erwiesen hat, da bei mir dann der Interne bereich
>>>> samt menü im Content angezeigt wird und ich über meinem richtigen
>>>> content den http request stehen hab.
>>>>
>>>> Code hierzu:
>>>> <?php
>>>>
>>>> function PostToHost($host, $path, $referer, $data_to_send) {
>>>> $fp = fsockopen($host, 80);
>>>>
>>>> fputs($fp, "POST $path HTTP/1.1\r\n");
>>>> fputs($fp, "Host: $host\r\n");
>>>> fputs($fp, "Referer: $referer\r\n");
>>>> fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
>>>> fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
>>>> fputs($fp, "Connection: close\r\n\r\n");
>>>> fputs($fp, $data_to_send);
>>>>
>>>> while(!feof($fp)) {
>>>> $res .= fgets($fp, 128);
>>>> }
>>>>
>>>> fclose($fp);
>>>>
>>>> return $res;
>>>> }
>>>>
>>>> $data = "logintype=login.........";
>>>> $desthost = "xxxxx.at";
>>>> $destpath = "/index.php?id=1235";
>>>> $destreferer = "http://xxxxxx.at/index.php";
>>>>
>>>>
>>>> echo(PostToHost(
>>>> $desthost,
>>>> $destpath,
>>>> $destreferer,
>>>> $data
>>>> ));
>>>> echo $x;
>>>>
>>>> ?>
>>>> <---- hab diese version erstmal gar nicht in die extension eingebaut
>>>> sondern direkt als php code in verbindung mit der php_content extension
>>>> versucht. Da das kein bisschen hinhaut frage ich mich, wie man es noch
>>>> lösen könnte.
>>>>
>>>> Zusätzliche Informationen:
>>>>
>>>> Login direkt erfolgt über dritt-server-webservice und nach erfolg
>>>> wollte ich einfach post daten senden mit logintype user und pw (vom
>>>> Kunden wurden nämlich dummy FE user gewünscht) Zurzeit habe ich es so
>>>> gelöst, dass ich einfach ein hidden formular mit dummy daten fülle und
>>>> ausführe, was aber 1. programmierseitig extrem hässlich ist und 2.
>>>> erfolgt dann ein 2. mal die abfrage ob man das pw speichern möchte
>>>>
>>>> Wüsste jemand raT?
>>>> Danke im Vorraus
>>>>
>>>> mfg
>>>> David Aichinger
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
More information about the TYPO3-german
mailing list