php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 3,00 durchschnittlich.
Alt 27.06.2011, 17:46  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard Facebook mit Curl tunneln

Hi,

ich wollte Facebook über ein PHP-Skript auf meinem Webspace mit curl aufrufen und die empfangenen Daten dann an den Client weiterleiten.
Dabei werden die HTML-Dokumente dahingehend modifiziert, dass bei einem Link-Klick wieder mein Skript aufgerufen wird und die Zielurl als Parameter angehängt wird.

Klappt soweit auch alles, einziges Problem: Nach der Eingabe der Benutzerdaten auf der Startseite schickt mir der Server eine Response, die nur aus einem Header besteht. In ihr werden Cookie-Daten übermittelt, sowie ein "Location:"-Argument mit der Startseite. Diese Response sieht genau so aus wie die, die ich mit meinem normalen Browser erhalte. Wenn ich dann allerdings auf die Startseite gehe, kommt eine Facebook-Meldung, dass mein Request nicht verarbeitet werden kann.

Mein Code ist folgender (ist noch nicht 100%ig, wollte Schritt für Schritt weiter machen):

PHP-Code:
<?php


$url 
$_GET['url'];

foreach(
$_GET as $name => $value){
if (
$name != "url"){
$url $url "&".$name."=".$value;
}
}
$fields_string="";
foreach (
$_POST as $name => $value){
$fields_string.="&$name=$value";
}


$ch curl_init();
curl_setopt($chCURLOPT_URL"http://www.facebook.com".$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
curl_setopt($chCURLOPT_HEADERTRUE);
if (
fields_string !=""){
curl_setopt($chCURLOPT_POST1);
}
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
if (
fields_string !=""){
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
}

curl_setopt($chCURLOPT_COOKIEFILE"/tmp/cookie.txt");
curl_setopt($chCURLOPT_COOKIEJAR"/tmp/cookie.txt");
$ref $_SERVER['HTTP_REFERER'];
$refstr_replace("http://www.meineseite.de/fb/test.php""http://www.facebook.com"$ref);
$refstr_replace("http://www.meineseite.de/fb/test.php?url=""http://www.facebook.com"$ref);
curl_setopt($chCURLOPT_REFERER$ref);
$head curl_exec($ch);
curl_close($ch);

$head str_replace("http://www.facebook.com""http://www.meineseite.de/fb/test.php?url="$head);
$head str_replace("https://www.facebook.com""meineseite.de/fb/test.php?url="$head);
$head str_replace("\"/""\"http://www.meineseite.de/fb/test.php?url=/"$head);

echo(
$head);
?>
Weiß vielleicht jemand, woran das liegen könnte (komme schon seit Stunden nicht weiter)?


Danke schonmal im Voraus!


Max K.

EDIT:

P.S.: Ehe jemand fragt: Das ganze ist zur Umgehung eines dieser nervigen Zensurfilter gedacht. Und ja!: Das funktioniert, die anmeldefreien Seiten kann ich bereits durchschleusen.
Max K. ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.06.2011, 22:26  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das wird Facebook wohl kaum zulassen.

Zitat:
PHP-Code:
$refstr_replace("http://www.meineseite.de/fb/test.php""http://www.facebook.com"$ref);
$refstr_replace("http://www.meineseite.de/fb/test.php?url=""http://www.facebook.com"$ref); 
Wie soll das bitte funktionieren?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 28.06.2011, 07:59  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

im übrigen, wenn du die Cookie's bekommst und die location, wo's hingehen soll - dann wirst du eben genau diese Cookie-Daten wieder mitsenden müssen - du musst mit cURL "per Hand" das Verhalten eines Browsers nachbauen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 28.06.2011, 08:53  
Benutzer
 
Registriert seit: 25.01.2011
Beiträge: 59
PHP-Kenntnisse:
Fortgeschritten
Renner befindet sich auf einem aufstrebenden Ast
Standard

Besteht die Möglichkeit, den Transfer tatsächlich zu tunneln? Also sprich einen VPN-/SOCKS-Proxy auf einem Server zu installieren über den der ganze Transfer verschlüsselt drüber gejagt wird?

Damit wäre auch das Bauchweh verschwunden, das deine Nutzer haben sollten, wenn deren Auth-Daten über deinen Sniffer ... ähm ... Proxy gehen.
Renner ist offline   Mit Zitat antworten
Alt 28.06.2011, 09:04  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

zumindest bei der https Variante seh ich eher schwarz .... beim regulären http-Zugang könnte das klappen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 28.06.2011, 16:05  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Das wird Facebook wohl kaum zulassen.
Doch! Genau das geht! Anfangs bin ich wegen des falschen Refferers rausgeflogen, mit diesen Zeilen war das Problem gelöst! Ich erfrage über die Server-Variablen den Refferer, mache aus meiner Domain die von Facebook und der Name der Seite stimmt sowieso. Das sende ich dann mit dem Request als Refferer-Information.

Zitat:
im übrigen, wenn du die Cookie's bekommst und die location, wo's hingehen soll - dann wirst du eben genau diese Cookie-Daten wieder mitsenden müssen - du musst mit cURL "per Hand" das Verhalten eines Browsers nachbauen
Ich dachte, dass genau das mit
PHP-Code:
curl_setopt($chCURLOPT_COOKIEFILE"/tmp/cookie.txt");
curl_setopt($chCURLOPT_COOKIEJAR"/tmp/cookie.txt"); 
gemacht wird.

@Renner

Ja, das geht! Mache ich auch vorübergehend als Notlösung, bzw. ich verwende ein PHP-Proxy Skript. Übrigens: Nutzer gibt's außer mir keine.

Zitat:
zumindest bei der https Variante seh ich eher schwarz .... beim regulären http-Zugang könnte das klappen
Mit normalen "zensierten" (Schulnetz) Seiten habe ich es auch schon hinbekommen, inklusive offene Facebook-Seiten.
Max K. ist offline   Mit Zitat antworten
Alt 28.06.2011, 18:22  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

facebook -> auf deinem Webspace aufrufen = Content Thieving -> Verboten.

Was auch immer du dir überlegt hast, lass es, alles was über die APIs von Facebook hinausgeht, endet bei entdecken in einem Rechtsstreit.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 28.06.2011, 18:56  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard

OK, die Idee war sowieso mehr als Spielerei für langweilige Schulstunden entstanden. Ich wollte prinzipiell mehr testen ob ich es schaffe, als dass ich es wirklich benutzen wollte. Und das Erfolgserlebnis war ja auch dar: Ich konnte z.B. auf alle in der Schule gesperrten Proxy-Listen zugreifen

Nur noch aus Interesse:
Darf ich Facebook dann über einen (PHP)-Proxy aufrufen? Läuft ja denn letztendlich auch über meinen oder fremde Webserver.
Max K. ist offline   Mit Zitat antworten
Alt 29.06.2011, 08:54  
Benutzer
 
Registriert seit: 25.01.2011
Beiträge: 59
PHP-Kenntnisse:
Fortgeschritten
Renner befindet sich auf einem aufstrebenden Ast
Standard

Ich habe noch nirgendwo gelesen, dass das Surfen über Proxys verboten wäre. Ist ja in erster Linie nichts anderes als eine Vermittlungsstelle.

Das Problem, das tr0y angesprochen hatte, war ja eher, dass durch deine Curl-Lösung der Content von Facebook über deine Domain verfügbar gemacht worden wäre. Das geht natürlich nicht. Ich denke das ist aber klar geworden.

In beiden Fällen surfst du eben einfach mit der IP deines Servers. Ansonsten wirkst du auf Facebook wie ein normaler Nutzer - was du ja auch bist. Ich denke auch, dass wenn du die Curl-Lösung in einen sicher, abgeschlossenen Bereich packst und der einzige bleibst, der davon weiß, eine Chance auf Entdecken durch Facebook bei null liegt. Vorausgesetzt, dein Script kann alle technischen Aspekte zu 100% umsetzen.
Renner ist offline   Mit Zitat antworten
Alt 30.06.2011, 00:07  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
ch denke auch, dass wenn du die Curl-Lösung in einen sicher, abgeschlossenen Bereich packst und der einzige bleibst, der davon weiß, eine Chance auf Entdecken durch Facebook bei null liegt.
so what ??? illegal bleibt illegal
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Facebook Login und eigener Login Paralell blackcrow PHP-Fortgeschrittene 17 29.05.2011 21:03
Facebook Login Scheffi PHP Einsteiger 8 25.05.2011 07:53
Gespeicherte Vorschaubilder von Webseiten bei Facebook löschen mentalman Off-Topic Diskussionen 9 10.05.2011 01:18
Webentwickler für Facebook Applikationen gesucht yourfans Gewerblich 2 27.04.2011 11:47
[Erledigt] Facebook Graph Fatal Error mistermint PHP Tipps 2010 2 25.10.2010 21:27
[Erledigt] cURL Upload Probleme bei unterschiedlichen Servern iits PHP-Fortgeschrittene 3 25.10.2010 18:11
Facebook Connect Status posten Jan M. PHP Tipps 2010 0 27.09.2010 22:38
Mit curl Bilder anzeigen AllOnline PHP Tipps 2010 2 03.02.2010 22:48
[Erledigt] curl post GTA26 PHP Tipps 2009 1 11.03.2009 20:09
Curl mit Server-IP fettyteddy PHP-Fortgeschrittene 1 10.03.2009 21:01
Curl mehrere URLs öffnen in einer Curl Session. Buschdieb PHP Tipps 2008 8 20.12.2008 13:01
CURL funktieonieren nicht bazik PHP-Fortgeschrittene 12 07.11.2008 09:43
nuSOAP SSL und cURL Typhon PHP Tipps 2008 0 24.10.2008 15:10
[Erledigt] PHP nachträglich mit CURL Support ausstatten PHP-Fortgeschrittene 2 20.12.2004 16:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
facebook tunneln, facebook curl php, curl facebook, facebook php curl, tunneln facebook, curl facebook login, php curl weiterleitung, facebook news auf website auf facebook posten curl fb, curl surfen über server, facebook login mit curl, php curl illegal, facebook login.php curl, php curl $_server, curl facebook login illegal?, php curl facebook cookies, mit curl bei facebook posten, php foreach ein schritt weiter, php curl anmeldung weiterleitung, facebook curl, curl php facebook

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum