PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "cURL" statt "allow_url_fopen" ?



TS7
03.06.2007, 20:58
Hallo,
ich habe ein Problem.

Anmeldung + Banner von Webmasterlose durch das interface hochladen, funktioniert nicht.

Und zwar ist auf meinen Sever
- allow_url_fopen = off
- register_globals = off

Der Support meinte ich könnte "cURL" verwenden.

Jetzt meine Frage:
Welche Datei muss ich wie ändern damit es auch ohne "allow_url_fopen" und "register_globals" funktioniert?


Ich habe das VMS1.

Thx schon mal.

Gremlin
03.06.2007, 21:19
Du kannst auch einfach das hier nutzen:

http://www.klamm.de/forum/showpost.php?p=523165&postcount=3

du musst alle Sponsorencrons im Ordner /crons/ bearbaiten únd alle Dateien im Ordner /schnittstellen/ und /schittstellen/


Gruß
Gremlin

TS7
03.06.2007, 22:00
Gibt es nicht schon die fertigen Dateien, wo das schon umgeschrieben ist, irgendwo zum Download?
Weil ich kann PHP nicht so gut.

Gremlin
03.06.2007, 22:13
Einfach den Code aus dem Klammforumpost oben in die functions.lib.php und dann überall in den Dateien file() mit socketfile() ersetzen ;)

TS7
03.06.2007, 22:45
komischer weise funzt es nicht bei mir. :(
Habe bei:
/crons/
/lib/schittstellen/
/lib/schnittstellen/
durch "suchen und ersetzen", alle "file" durch "socketfile" ersetzt.

Was habe ich falsch gemacht...!?

Gremlin
03.06.2007, 22:50
fopen() sollte dann ersetzt werden. dabei ist zu beachten das das ,"r" auch entfernt wird, da socketfile() nur noch einen Parameter akzeptiert.

Gruß
Gremlin

TS7
03.06.2007, 23:00
"fopen()" soll ich in den gleichen Dateien zu was ändern?

Bin ein Totaler Newbie

Gremlin
03.06.2007, 23:12
So ist es :)
da steht dann z.B. sowas drin:



fopen("http://www.FuCoEx.de/sponsornet/engine/output_kampagne.php?bid=".$interfacedaten['betreiber']."&pwd=".$interfacedaten['pass']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1&size=468x60","r")

das dann ersetzen durch:


socketfile("http://www.FuCoEx.de/sponsornet/engine/output_kampagne.php?bid=".$interfacedaten['betreiber']."&pwd=".$interfacedaten['pass']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1&size=468x60")

auch bei dem file() wo du ersetzt hattest, musst du darauf achten, dass das ,"r" auch entfernt wurde.

Gruß
Gremlin

TS7
03.06.2007, 23:41
Thx für deine hilfe.
Das problem: es funzt immer noch nicht

//Edit: Die Anmeldung Funktioniert jetzt aber nicht das interface.w

TS7
04.06.2007, 19:52
weiß da noch jemand rat?

h-m
27.07.2008, 13:45
mmh ich weiss, uralter Thread, aber vielleicht hilft das ja:

Suchen:

$fb=@fopen("http://www...usw.....","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}

Ersetzen mit:


$farray = socketfile("http://www....usw...");
if ($farray) foreach ($farray as $line) $file1.=$line;

Vorher wie oben gesagt die "socketfile" Funktion in die functions.lib.php eintragen.
Ich frage mich nur.. wenn ein Provider allow_url_fopen auf OFF setzt, würde er dann nicht gleich noch fsockopen() sperren? (fsockopen() wird von socketfile() verwendet.)

Achtung: ungetestet, keine Garantie oder Rücknahme. ;)

edit: bplaced.net verbietet "fsockopen()"

noch ein edit: hier etwas code mit dem ich bei bplaced getestet habe, kann man in eine php-datei einfügen, auf den webspace des zu testenden providers hochladen und über den webserver per http öffnen:

<?
function socketfile($url) {
// URL zerlegen
$parsedurl = @parse_url($url);
// Host ermitteln, ungültigen Aufruf abfangen
if (empty($parsedurl['host']))
return null;
$host = $parsedurl['host'];
// Pfadangabe ermitteln
if (empty($parsedurl['path']))
$documentpath = '/';
else
$documentpath = $parsedurl['path'];
// Parameter ermitteln
if (!empty($parsedurl['query']))
$documentpath .= '?'.$parsedurl['query'];
// Port ermitteln
$port = empty($parsedurl['port'])?80:$parsedurl['port'];
// Socket öffnen
$fp = fsockopen ($host, $port, $errno, $errstr, 30);
if (!$fp)
return null;
// Request senden
fputs ($fp, "GET {$documentpath} HTTP/1.0\r\nHost: {$host}\r\n\r\n");
// Header auslesen und verwerfen
do {
$line = chop(fgets($fp));
} while (!empty($line) and !feof($fp));
// Daten auslesen
$result = Array();
while (!feof($fp)) $result[] = fgets($fp);
// Socket schliessen
fclose($fp);
// Ergebnis-Array zurückgeben
return $result;
}

################################################## ################################################## ############
$url = "http://www.google.de/";

################################################## ################################################## ############
$fb=fopen($url,"r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
echo $file1;

################################################## ################################################## ############
echo "=========== socketfile / fsockopen : ===================<br>\n";
unset($file1);

$farray = socketfile($url);
if ($farray) foreach ($farray as $line) $file1.=$line;

echo $file1;
?>