Log-Script

Grufta

Grünschnabel
Hallo,
Also ich suche ein Script und ich denke das ist mit PHP gut umzusetzten.

Das ganze sollte so aussehen das das Script bei aufrufen (bzw include) einen Datensatz, wie z.b. Datum Uhrzeit URL an einen anderen Webspace schickt. Auf diesem anderen Webspace befindet sich dann ein einfaches .txt File in dem die Daten gespeicher und aufgelistet werden.
Das wichtigste ist eben, das das Script von Webspace A auf Webspace B die Daten schickt.

Hoffe das ist umzusetzten.

Mfg
Grufta
 
Falls dein Webserver B dem Webserver A erlaubt Daten auf seinem Speicherplatz zu schreiben, wäre es möglich, würde aber eine riesige Sicherheitslücke darstellen.

Ich würde es eher so machen, dass das Skript von Webserver A einen HTTP Request an das Skript B sendet und Daten mit der POST Methode verschickt.
Das Skript auf Webserver B nimmt diese entgegen, validiert sie und speichert sie lokal ab.

Die HTTP Klasse von Dennis Wronka könnte dir dabei helfen.
http://php-classes.sourceforge.net
 
Um die Sicherheitslücke zu minimieren könnte man außerdem auf Zertifikate setzen. Mit curl kann man da einiges bauen, das es sicherer wird. Sprich dein Webserver A verschlüsselt die Daten mit seinem privaten Schlüssel und Webserver B entschlüsselt die Daten mit dem öffentlichen Schlüssel von Webserver A. Folglich werden nur Daten angenommen, die von Webserver A versendet wurden.
 
Hmm, hab das jetzt nicht so ganz verstanden wie ihr das meint, könnte einer mir vl. so ein Script posten, weil ich hab echt absolut 0 Plan gerade wie das funktionieren soll...

greetz
Grufta
 
Also, wir nehmen die Klasse von Dennis Wronka, HTTPConnection, hier das Tutorial für die Klasse.

PHP:
<?php
require("httpconnection.class.php");

# Creating the Vars to post
$var1 = "HALLO ICH BIN EIN TEST!";
$var2 = "ICH TESTE AUCH WAS!";

$http=new httpconnection("localhost");

$data=$http->post("cron/test2.php","val1=$var1&val2=$var2");

echo nl2br(print_r($data['head'],true));

echo $data['body'];

unset($http); 

?>
So sieht unser simples Skript aus.

Das test2.php sieht so aus:

PHP:
<?php
file_put_contents("test.txt", print_r($_POST, true));
?>

Und das Ergebnis:
Code:
Array
(
    [val1] => HALLO ICH BIN EIN TEST!
    [val2] => ICH TESTE AUCH WAS!
)

Ich hoffe, das reicht als kleiner Anstoß.
test2.php kann natürlich auch alles andere machen. Es sollte nur klar werden, dass test2.php die Daten im $_POST Array vorfindet und mit ihnen arbeiten kann.
 
Zurück