Zugriff auf Webfront feststellen

Hallo Leute,
Ich habe jetzt schon eine ganze weile das forum durchsucht aber nicht das richtige gefunden.

ich suche eine Möglichkeit festzustellen ob aktuell auf das webfrot zu gegriffen wird.

Habe in meinem Haus viel Z-wave komponeten die ich nicht laufend abfragen kann. hier wollte ich ein skript schreiben das sobald auf das webfront zugegriffen wird die stati aktualisiert.

Das selbe benötige ich dann noch fürs dashboard.

Optional wäre dann dür das Webfront noch zu überlegen ob ich via Fritzbox die Ip festhalten kannt von der aus auf´s webfrot zugegriffen wurde.

danke schonmal vor ab

Peter

Systemvariablen: IP-Symcon :: Automatisierungssoftware

Erst mal danke für die Schnelle Reaktion!

Ich blicke das noch nicht ganz!

über IPS_sender kann ich doch nur zulassen, das ein Skript nur von einer bestimmten stelle ausgelöst wird z.b. webfront.

Aber wie löse ich das skript denn aus, wenn auf webfrot zugegriffen wird?
Ich erwarte ja nicht, das jemand unautorisiertes erstmal lieb ein skript aktiviert!

es soll ja als Überwachung dienen um zu sehen wer wann in mein netzwerk will.

mfg

Peter

Wenn Du in deiner Webserver Instanz den Log aktivierst, könntest Du diese auswerten, warum auch immer. :confused:

@RWN
Habe ich ja oben beschrieben mein problem ist, das die z-wave aktoren, wenn ich diese ständig an-tiger rechtschnell schlapp machen. Wenn ich aber von ausen (internet) oder von innen (netzwerk) auf´s webfront zugreife dann möchte ich natürlich auch wissen, ob z.b. das licht brennt, auch wenn ich es am schalter angemacht habe. Z-wave sendendt das nämlich nicht.

deswegen sollte dann bei jedem zugriff auf das webfront mal kurz ein skript aktiviert werden, das dann mir die zwave´s abfragt und frühestens 20min später wieder aktiviert werden kann.

soviel zur erklärung

Aber wo befindet sich jetzt diese logdatei und wie kann ich aktualiesierungen darin abfragen?

MFG

Peter

Hallo Peter,

die Datei liegt im Logs Ordner und heisst access_…

Kannst Du ganz normal in ein Script laden und auswerten. Du musst allerdings ein Trigger darauf machen. Ob das ganze dann sinnvoll ist, musst Du selbst entscheiden.

PS. Ich schreib dir mal was zusammen mit IP und Uhrzeit.

Damit ist mir auf jeden fall schon mal geholfen. Ich werde jetzt mal nach nem PHP befehl suchen der nur auswertet od das log sich aktualiesiert hat, Sprich ob das geändert datum in den eigenschaften der datei sich ändert. z.B.(fileatime)
PHP fileatime - Datum und Zeitpunkt des letzten Datei-Zugriffs

Ich wollte eh denächst noch einen versuch starten und IPS in ein virtuelles laufwerk in die ram(1,5gb) kopieren, wie sieht es den mit auslagern der datei in das virtuelle laufwerk aus? kann ich den Pfad der log bestimmen?

Ich hatte den Tip mit IPS Sender gegeben, weil Du damit ganz einfach feststellen kannst ob ein Script vom WebFront oder vom Dashboard ausgelöst wird. Und sogar von welcher IP. Mit autoinclude könnte man hier jeglichen Scriptaufruf prüfen. Selbst Schaltaufrufe einer Var im WF laufen ja über ein Script des Profils dieser.

Ich denke das was ich da jetzt vorhabe, wird wohl einfacher werden. ich muss mal schauen was das log alles mit logt, werde es aber erst zuhause ausprobieren können.
Ich will ja auch eigentlich nur, sozusagen, das tor prüfen. Wenn einer drinn ist, ist ja alles ok ich möchte halt nur am anfang den ist-zustand der wohnung im ips haben.
Halt doof , das die Z-wave aktoren den status nicht von sich aus senden.

@ thomas
seit gestern läuft auf tele 5 NGT, fing gerade mit „mission farpoint“ an als ich mich an das lcars machte :smiley:

hier mal mit IP und Uhrzeit.

<?
// prüfen ob vorhanden und letzte Aktuallisierung
$logfile = IPS_GetKernelDir()."logs\\access_29913.log"; // datei anpassen
if(file_exists($logfile))
{
    echo $logfile." letzte Aktualisierung: " . date("d.m.Y H:i:s", filemtime($logfile))."
";
    // datei laden
    $lines = file($logfile);

    //letzte Zeile aus Log
    $letzterLog = $lines[count($lines) -1];
    $list = explode("- -", $letzterLog);
    $ip = $list[0];
    $zeit = strstr(($list[1]), "]", true);
    $zeit = substr($zeit, 2, strlen($zeit)-8);
    echo $ip."
";
    echo $zeit;
}
else
{
    echo "Logdatei nicht vorhanden";
}
?>

Hallo Reiner ich habe es auch mal probierte und habe das geschrieben


<?
$logfile = IPS_GetKernelDir()."logs\\access_18769.log";
if(file_exists($logfile))
{

$Zeit2 = date("d.m.Y - H:m",fileatime("$logfile"));
$Zeit1 = GetValue (30661 /*[IPS-Neu\zeit]*/);
If ($Zeit2 == $Zeit1)
	{
	}
else
	{
	setvalue (30661,$Zeit2);
	}
}
?>

Habe ne Vab angelegt (30661) und trigger das Prog ständig durch wenn sich die vab bewegt löst das mein Trigger prog aus
das langt zum Triggern

dein prog werde ich dahinter schalten und nur aus lösen wenn sich was ändert. ich denke mir ein prog was ständig läuft sollte so klein als möglich sein

seit gestern läuft auf tele 5 NGT, fing gerade mit „mission farpoint“ an als ich mich an das lcars machte

Gute alte Zeit… schade das da nix nachkommt.

hallo…
hab mir mal das Script von RWN angesehen… haut bei mir eine Fehlermeldung raus… liegt wohl daran, das ich den String „- -“ nicht habe, weil ich mich mit Benutzername einlogge.

hab´s Script mal ein wenig abgeändert:


<?
// prüfen ob vorhanden und letzte Aktuallisierung
$logfile = IPS_GetKernelDir()."logs\\access_22890.log"; // datei anpassen
if(file_exists($logfile))
{
    echo $logfile." letzte Aktualisierung: " . date("d.m.Y H:i:s", filemtime($logfile))."
";
    // datei laden
    $lines = file($logfile);

    //letzte Zeile aus Log
    $letzterLog = $lines[count($lines) -1];
    $list = explode(" ", $letzterLog);
    $ip = $list[0];
    $zeit = substr($list[3], -8);
    echo $ip."
";
    echo $zeit;
}
else
{
    echo "Logdatei nicht vorhanden";
}
?>

im Grunde hab ich nur beim explode() was geändert und die Variable $zeit.

stimmt, wenn SSL aktiv ist nur 1 - vorhanden.

So bin vor nerstunde nachhause gekommen und habe mal gelauscht ob ich irgendwie mehr traffic auf der festplatte feststelle, aber ich habe nix gemerkt tackert auch nicht mehr als sonst. Letzter zugriff auf das system war vor 3 stunden also gegen 16:00 uhr

hat jemand ne ahnung wie ich das 100% bestimmen kann, wäre hat schön eine aussage zu machen ob das traffic verursacht

und was kann ich tun damit das nicht ständig in den meldungen auftaucht

Hallo Leute,

wieder mal ein tolles Skript und ganz bestimmt ausbaufähig!:slight_smile:

Mal eine Frage:
Wie bekomme ich das Datumsformat aus der Datei „04/Jan/2011“ in ein „normales“ Format („d.m.Y“)?:confused:
Bekomme immer nur Fehlermeldungen…:frowning:

Joachim

str_replace("/", ".", $zeit);

Hallo Rainer,

vielen Dank für die schnelle Antwort.
Das habe ich bei mir auch im Skript, dabei kommt dann heraus „04.Jan.2011“, aber irgendwie wird offensichtlich das „Jan“ nicht akzeptiert…

Joachim

was soll denn sonst raus kommen, wenn Du / durch . ersetzt.

Na, „04.01.2011“ :slight_smile:

Joachim