19.01.2017, 13:09
Bin mir nicht sicher aber "fsockopen" ist oft in der PHP.ini blacklisted, einfach mal reinschauen falls es nicht gehen sollte. Bevor du jetzt Stundenlang nach fehlern suchst ^^
Ist eig. nie blacklisted. Funktioniert bei mir problemlos ohne irgendwas an der php.ini geändert zu haben.
<a href="http://choppercrasher.de/abfragen.php?ip=127.0.0.1&port=10011"></a>
Dieser Tag übergibt nun ip und port an das php Dokument.
Dieses sieht nun so aus:
<?php
$service = fsockopen($_GET["ip"]/*"example=127.0.0.1"*/ /*IP-Adresse*/, $_GET["port"] /*"example=10011"*/ /*Port*/);
if ($service) {
echo ("Server is online");
$close = fclose($service);
}
else
echo ("Server is offline");
?>
Es sollte erscheinen "Server ist Online" Wenn ich das direkt im Browser mache funktioniert das auch. Nun teste ich es noch in Wordpress ob er mir das so zurück gibt oder nicht.
Was haltet Ihr davon? Man könnte in HTML also sprich in Wordpress dann natürlich noch einige CSS Parameter dazugeben damit es nach etwas aussieht. So ist der Plan.
EDIT: Habe es gerade in Wordpress versucht. Leider schreibt er mir das Ergebniss aus der php Datei nicht in HTML rein. Vermutlich weil die passende übergabe nicht funktioniert.
<?php
//IP Whitelist
$ips=array('123.456.78.9' , '123.456.7.9' );
//Ist IP in Whitelist ?
$whitelist=false;
foreach ($ips as $ip)
{
if ($ip ==$_GET["ip"])
$whitelist = true;
}
//Port ist eigentlich egal, ist ja dein Server - Sollte man aber auch über eine Whitelist nachdenken.
//Prüfen der Ports
$ports = array ('HTTP' => 80, 'FTP' => 21, "ARMA3" => 2302, "TSQuery" => 10011);
if ($whitelist)
{
$whitelist=false;
foreach ($ports as $typ => $ip)
{
//Port in Whitelist
if ($ports ==$_GET["port"])
{
$whitelist = true;
$service=$typ;
}
}
}
if ($whitelist)
{
echo "Ein ".$service." Dienst wird überprüft ...";
$service = fsockopen($_GET["ip"], $_GET["port"]);
... rest des codes
}
<?php
//IP Whitelist
$ips=array('123.456.78.9' , '123.456.7.9' );
//Ist IP in Whitelist ?
$whitelist=false;
foreach ($ips as $ip)
{
if ($ip ==$_GET["ip"])
$whitelist = true;
}
//Port ist eigentlich egal, ist ja dein Server - Sollte man aber auch über eine Whitelist nachdenken.
//Prüfen der Ports
$ports = array ('HTTP' => 80, 'FTP' => 21, "ARMA3" => 2302, "TSQuery" => 10011);
if ($whitelist)
{
$whitelist=false;
foreach ($ports as $typ => $ip)
{
//Port in Whitelist
if ($ports ==$_GET["port"])
{
$whitelist = true;
$service=$typ;
}
}
}
if ($whitelist)
{
echo "Ein ".$service." Dienst wird überprüft ...";
$service = fsockopen($_GET["ip"], $_GET["port"]);
... rest des codes
}
Okay ja das hört sich etwas logischer an. Also um die Datenbank komm ich nicht drum rum. Aber wo ist der Datenbank aufruf? Ich meine ich muss mich ja erstmal mit der Datenbank connecten damit er überhaupt erstmal irgend eine id abfragen kann. Vorallen wie soll die Datenbank am besten aussehen? Wie gesagt Datenbank bis auf das Aussehen ist mir alles bekannt nur in PHP bin ich ne 0 aber ich halte mich immer mehr an learning by doing. Google ist mein Freund ist mir klar nur wenn mann sich immer alles raus suchen muss, dann hat man vom suchen irgendwann so das Kotzen, das man einfach sagt: Ach komm schon.
Jeder war schonmal in so einer Lage das einfach alles nur noch Bahnhof ist.
Gut zurück zum Thema irgendwo muss da ja noch der Aufruf der Datenbank rein.
$server = array(
"Servername1" => "ServerIP",
"Servername2" => "ServerIP",
"Servername3" => "ServerIP"
);
//Ports befüllen
$server["Servername1"]["Ports"] = array ('HTTP' => 80, 'FTP' => 21, "ARMA3" => 2302, "TSQuery" => 10011);
$server["Servername2"]["Ports"] = array ('HTTP' => 80, 'FTP' => 21, "ARMA3" => 2302, "TSQuery" => 10011);
$server["Servername3"]["Ports"] = array ('HTTP' => 80, 'FTP' => 21, "ARMA3" => 2302, "TSQuery" => 10011);
foreach ($server as $servername => $data)
{
echo $servername;
print_r($data);
}
Versuch das mal.