ERLEDIGT
NEIN
NEIN
ANTWORTEN
30
30
ZUGRIFFE
1069
1069
EMPFEHLEN
-
Hallo liebe Community,
ich habe grade folgendes Problem. Ich betreibe eine Webseite, über die man (User) sich bei Fremdseiten anmelden kann! Dies ganze geschieht über folgende Funktion:
nun möchte ich aber Daten an eine Seite, die mit https aufgerufen wird, mit $_POST senden! Hat da jmd. eine Ahnung wie ich das bewerkstelligen könnte?PHP-Code:function reg_it($wo, $genau, $womit) {
$temp_wo=explode("/",$wo);
$wo=$temp_wo[0];
if(count($temp_wo)>1)
{
$genau="/".$temp_wo[1]."".$genau;
}
$wer=$_SERVER["SERVER_NAME"];
$con = fsockopen($wo, 80);
$handle = "POST $genau HTTP/1.1\r\n";
$handle.= "Host: $wo\r\n";
$handle.= "Referer: $wer\r\n";
$handle.= "Content-type:application/x-www-form-urlencoded\r\n";
$handle.= "Content-length: ". strlen($womit) ."\r\n";
$handle.= "Connection: close\r\n\r\n";
$handle.= $womit;
fputs($con, $handle);
while($con AND !feof($con)) {
$res .= fgets($con, 128);
}
fclose($con);
return $res;
}
-
07.12.11 22:53 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Tipp: Du nimmst statt Sockets die curl-Funktionen.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Ich stehe da grad a wenig auf dem Schlauch, kenne mich mit Curl noch net aus, kann mir jmd. ein Beisüiel schreiben?
-
08.12.11 00:16 #4
Hallo!
Wenn Du Dich mit dem Server per HTTPS verbinden willst, solltest Du auch den entsprechenden Port (443) verwenden, und nicht den für HTTP (80).
http://de.wikipedia.org/wiki/Port_(Protokoll)
Gruss Dr DauSchri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
08.12.11 07:29 #5
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Allerdings muss er den SSL dann komplett selbst implementieren. Deswegen ja CURL.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Trotzdem kriege ich das net gebacken *heul*
-
08.12.11 20:02 #7
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Hast du hier schon mal die Suche verwendet? Da gibts dutzende Beispiele. Außerdem gibts in google einige prima Anleitungen:
http://davidwalsh.name/execute-http-post-php-curl
Wir helfen gern weiter, wenn du einen Fehler hast, ihn aber nicht finden kannst. Aber ein komplettes Beispiel, was dann auch noch per Copy&Paste funktioniert, verursacht einfach zu viel Aufwand
Notfalls postest du ne Anfrage im Jobs-Forum.
Sorry, aber ein bisschen Eigeninitiative musst du schon zeigen.Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
08.12.11 20:12 #8
Hallo Divo,
wobei du für die Einstellung CURLOPT_POSTFIELDS auch ganz einfach ein Array verwenden kannst*:
Und mit folgenden 2 Zeilen kannst du evtl. SSL-Zertifikats-Fehler unterdrücken:PHP-Code:$post_data = array('param1' => 'val1', 'param2' => 'val2');
// ...
curl_setopt($curl_obj, CURLOPT_POSTFIELDS, $post_data);
Sicherheits-Lücke:PHP-Code:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
In dem Code auf der Seite, die saftmeister verlinkt hat, ist eine große Sicherheitslücke! Mittels extract() werden alle per POST übergebene Variablen in den globalen Raum geschrieben.
Dies ist ähnlich wie die bereits veraltete Einstellung Register Globals.
* Wobei dann der Content-Type-Header auf multipart/form-data gesetzt wird.mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
08.12.11 20:35 #9
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Naja, es ist genauso gefährlich, wie direkt die $_POST-Variablen zu übernehmen. Außerdem ging es mir eigentlich nur um den Teil mit curl()

Aber es ist schon richtig, extract() sollte man nicht gedankenlos verwenden.
@ComFreek: Er kann den Code IMHO ohnehin nicht mittels Copy&Past übernehmen.Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Die Daten werden vor der Übergabe mit dem mysql_real_escape_string maskiert
-
08.12.11 21:11 #11
Wenn du sie per String übergibst, musst du sie trotzdem per urlencode() maskieren.
Außerdem besteht auch eine Sicherheitslücke darin, das Datei-Lese-Feature von cURL mittels @-Zeichen auszunutzen!
Siehe auch diesen Kommentar auf php.net: http://php.net/manual/function.curl-setopt.php#102519
PS: Hast du es jetzt hinbekommen?mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
So ich habe mich jetzt mal dran gesetzt - folgendes kam dabei raus:
Dazu ne Frage: Wie kann ich mir da die Haeder ausgeben lassen?PHP-Code:<?php
$data = "t:formdata=H4sIAAAAAAAAAJWPMU7DQBBFh0hGoHRI3AAEBFhTEAqo0iAhRQjJ4gBre2IW2d5lZoJNw1E4AeISKei4AwegpaLAdhREZ235v/6b/+f1C4LqGA4JM8NCWowtw6syxfr8v3VypmaGWEpdIBOMLWVKO53coRLtsIk9jVViCXMTq1gzqkncsolcGszTnQhl7nZvF8PP7fefAaxNYZjYUsjm181Fga3pvX7UYa7LLIyETJld1E5gsyttI/4bJ74bb8gmyBzN48IwNwcXb+np7PvlYwBQu2oE+/0DMmxc4gd4BhBYX0oftCWD6gD2+gEstMlXVUGnPMBl0RGM+vNOM1eW0lXXxsrwwz1eE6SC/17rlAfYFf0C3t0t9tkCAAA=&firstName=Jan&gender=M&email=admin@morecash4mail.de&password=Benita08&terms=checked&REF=fVqCcazP3N5eg3q";
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, "https://www.euroclix.de/registration/index.registration06.registrationform");
curl_setopt($tuCurl, CURLOPT_PORT , 443);
curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);
curl_setopt($tuCurl, CURLOPT_HEADER, 0);
curl_setopt($tuCurl, CURLOPT_SSLVERSION, 3);
curl_setopt($tuCurl, CURLOPT_POST, 1);
curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: html/text"));
$tuData = curl_exec($tuCurl);
if(!curl_errno($tuCurl)){
$info = curl_getinfo($tuCurl);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($tuCurl);
}
curl_close($tuCurl);
echo $tuData;
?>
Die Variablen für die zu postenden Daten habe ich von der Startseite: www.euroclix.de
Kann es sein, dass dort durch das t:formdata Tapestry automatische Eingebaen verhindert werden?
-
19.02.12 19:00 #13
Dafür gibt es die Option CURLOPT_HEADER, welche du auf 0 gestellt hast:
Die musst du auf 1 stellen:PHP-Code:curl_setopt($tuCurl, CURLOPT_HEADER, 0);
PHP-Code:curl_setopt($tuCurl, CURLOPT_HEADER, 1);
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Nun bin ich bei foolgender Ausgabe im Header
STATUS-CODE: 500 X-Tapestry-ErrorMessage: Forms require that the request method be POST and that the t:formdata query parameter have values.
stelle ich nun auf multipart/formdata kommt das - ich werd noch kirre
STATUS-CODE: 500 X-Tapestry-ErrorMessage: Unable to decode multipart encoded request.
-
19.02.12 19:34 #15
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Du musst den $data-Inhalt vorher vermutlich noch durch urlencode() jagen.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
Ähnliche Themen
-
SQL-Daten != $_POST
Von Infernus im Forum PHPAntworten: 1Letzter Beitrag: 07.11.07, 18:09 -
problem $_POST daten gehen verloren
Von vedam im Forum PHPAntworten: 8Letzter Beitrag: 23.05.07, 09:43 -
$_POST Daten weiterversenden?
Von Nizomi im Forum PHPAntworten: 5Letzter Beitrag: 27.01.06, 20:18 -
erneutes Senden von $_POST verhindern
Von Katzehuhn im Forum PHPAntworten: 7Letzter Beitrag: 16.12.05, 10:47 -
_post vars senden trotz gewönhlicher url
Von ohio im Forum PHPAntworten: 13Letzter Beitrag: 15.04.03, 10:15





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren