Script über URL ausführen

Moin,
gibt es eine Möglichkeit, um durch das Aufrufen einer URL von einem beliebigen PC im Internet ein Script zu starten? Habe dazu das hier IP-Symcon Community Forum gefunden, scheint aber nichtmehr aktuell zu sein, klappt bei mir zumindest nicht…

Gruß

PS: Gibt es alternative andere Möglichkeiten von einem entfernten PC über ein gestartetest Javascript eine Aktion auf meinem IPS Server auszuführen? Geht im Großen und Ganzen um die Integration von GoogolPlex… (http://betterthansiri.com)

JA

mfg

BerndJ

Abend!

Das erinnert mich an den guten alten SiriProxy :smiley:

ABER bitte denk daran, ALLES was du über diese Verbindung machst (surfen, Banking, chatten, Siri, Email, …) läuft ALLES über die Server von diesen Typen!!!

Für mich wäre das nichts, aber das muss jeder selbst wissen :slight_smile:

Kann dieses GoogolPlex eine URL aufrufen? Dann könntest du darüber einfach Skripte ausführen, Variablen ändern, … ABER auch diese Daten laufen dann über den Anbieter! Inklusive Passwort usw…

Webhook Control gibt es ja erst in IPS 4, aber es gibt andere Projekte hier im Forum, die quasi das gleiche bieten. Falls noch Interesse, sag Bescheid :smiley:

Grüße,
Chris

Moin,
habe leider nur die Version 3.4, über weitere Infos würde ich mich also freuen! Das mit den Daten ist klar, würde dafür aber ein fest eingebautes altes iPhone nutzen für Sprachsteuerung auf dem sonst nichts gemacht wird, mein normales iPhone würde den Proxy nicht nutzen…

Gruß

Es gäbe eine einfache Variante in dem man eine entsprechende PHP-Datei in das User-Verzeichnis packt, allerdings ist dies dann quasi ungesichert, da jeder der das Script ausführen kann die IPS-Funktionen auslösen könnte.

Man kann es auch auf bestimmte Funktionen begrenzen, wenn das reichen würde.

Wie sähe denn eine entsprechende PHP Datei aus?

Quasi so :slight_smile:


<?

IPS_RunScript($id);

paresy

Wenn dir die Risiken bewusst sind, dann bitte :slight_smile:

Du legst das folgende Skript mit dem Namen „WebhookBY.php“ im IP-Symcon Ordner unter /webfront/user ab:

<?
if (isset($_GET["RUNScriptID"])) {
	$IPS_RunScriptID = (int)$_GET["RUNScriptID"];
	IPS_RunScript($IPS_RunScriptID);
	echo "Skript mit der ID ".$IPS_RunScriptID." wurde ausgeführt!";
}
elseif ((isset($_GET["SETVarID"])) AND (isset($_GET["SETVarVALUE"]))) {
	$IPS_SETVarID = (int)$_GET["SETVarID"];
	$IPS_SETVarVALUE = (int)$_GET["SETVarVALUE"];
	SetValue($IPS_SETVarID, $IPS_SETVarVALUE);
	echo "Die Variable mit der ID ".$IPS_SETVarID." wurde auf den Wert ".$IPS_SETVarVALUE." gesetzt!";
}
elseif (isset($_GET["GETVALVarID"])) {
	$IPS_GETVarID = (int)$_GET["GETVALVarID"];
	$GETWert = GetValue($IPS_GETVarID);
	echo "Die Variable mit der ID ".$IPS_GETVarID." hat den Wert '".$GETWert."'!";
}
?>

Dann kannst du über URL ein Skript ausführen oder den Wert einer existierenden Variable ändern. Zum Beispiel so:
[b]

http://192.168.1.20:82/user/WebhookBY.php?SETVarID=22222&SETVarVALUE=25

[/b]

Variable mit ID 22222 auf Wert 25 setzen

[b]

http://192.168.1.20:82/user/WebhookBY.php?GETVALVarID=33333

[/b]

Wert der Variable 33333 auslesen

[b]

http://192.168.1.20:82/user/WebhookBY.php?RUNScriptID=11111

[/b]
>> Skript mit der ID 11111 ausführen

IP und PORT natürlich gegen die IP von deinem IPS-Server und dem zugehörigen WebFront Port austauschen :slight_smile:

…wie du siehst…einfache IPS-PHP Befehle :slight_smile:

>> ABER ich würde mir überlegen, ob du vlt. lieber nur FESTE Skripte/Variablen einträgst und nicht variabel. Weil, wie gesagt, der Anbieter loggt alle deine URLs usw. und könnte damit komplett deine Skripte und Variablen ausführen und sonst etwas anstellen! Und so wirklich seriös scheint mir der Laden auch nicht zu sein…aber das ist deine Sache :wink:

Grüße,
Chris

PS: Jetzt auch hier zu finden :slight_smile: >> IP-Symcon - Wie kann ich… 2.0 - Seite 7