Rolf B: URL aufruf aus html durch Linux

Beitrag lesen

Hallo Felix,

Wozu die Umkopiererei? Das ist gefährlich, weil der Programmierer den Ursprung der Daten nicht mehr einschätzen kann…

Im Allgemeinen hast Du recht. Bei diesem potenziellen 10-Zeiler geht's noch. Und es ist - gerade wenn jemand nicht unbedingt die große Erfahrung hat - auch viel schwieriger, die tiefe Schachtelung zu verstehen.

Selbst Du bist Auch ich bin reingefallen, das hier

...  "https://"
      + "<?php echo $_SESSION['pbxip'];?>"
      + ...

funktioniert nicht doch. Sorry. So blöd kann man dabei reinfallen, aber eigentlich beweise ich damit meinen Punkt 😂. Ich habe deine Strings als PHP-Strings gelesen, und dann wäre "$_SESSION['pbxip']" ein Syntaxfehler gewesen...

Aber das Thema "URL zur OSBiz in JS zusammenbauen" erübrigt sich sowieso, das ist worst practice. Es darf nur einen Postback oder Ajax-Call geben, basierend auf dem Inhalt des input mit id='Eingabefeld'. Dieser Inhalt muss übrigens noch auf validiert werden, 7 Stellen reichen nicht. DNs für Telefone sind normalerweise schön numerisch, und je nach dem, ob eine Amtsanlassung (meistens die 0) erlaubt ist, musst Du das auch prüfen. Sonst haut jemand zwei Nullen vorneweg und ruft im Weißen Haus an. Oder die Zeitansage in Tokio.

das gesamte Panel ist natürlich per login geschützt. sowie auch die tk anlage

Aha... und wie genau? Wo werden die Login-Daten vorgehalten? Wie wird der Login geprüft?

Ist jetzt außerhalb des Scope der Anfrage, aber natürlich grundsätzlich interessant.

Also, D.Schmidt, Du solltest auf keinen Fall die Connection-Daten für die TK-Anlage auf den Client geben. Weder User-ID, noch Passwort, noch IP, noch die OpenScape-Session ID. Das muss alles auf dem Raspi bleiben. Du musst auch ein Konzept haben, welcher User welche Telefone fernsteuern darf! Stell Dir vor: Chef X führt Mitarbeitergespräch mit Kollege Y. Kollege Z sieht das, lässt das Telefon von X bei sich anrufen und hört das Gespräch mit. Danach posaunt Z herum, dass Y einen Einlauf wegen vermasselter Verkäufe bekommen hat. Oder schwanger ist (wenn's Frau Y ist). Wenn sowas passiert, hackt Dir eure Revision die Finger einzeln ab. Mit einer stumpfen Axt. Glied für Glied. Und wenn nicht die Revision, dann Frau Y.

Wenn das soweit klar ist…

Du hast serverseitiges PHP, ok. Den MakeCall, oder auch andere OSBiz-Funktionen, solltest Du aus PHP heraus absetzen, ausgelöst entweder durch einen POST des Form oder durch einen Ajax-Call mit XMLHttpRequest oder Fetch. Wie Du unter Raspbian aus PHP einen Webrequest absetzt, weiß ich nicht; die unter PHP.NET beschriebenen Wege scheinen alle irgendwelche PECLs zu brauchen die es nicht für Raspbian gibt. Aber bestimmt hat hier irgend ein Raspi-Spezialist eine Idee.

Du musst auch sowas wie ein "Action Ticket" haben. Das ist eine Zufallszahl, die Du im Form unterbringst, und die auch in der Session steht. Ein Telefonanlagenkommando wird akzeptiert, wenn der Client-Request das richtige Action Ticket mitbringt. Danach wird ein neues generiert, in der Session gespeichert und dem Client übermittelt (wie genau, hängt davon ab ob Du POST oder AJAX machst). Kommt ein falsches Ticket, wird die Session sofort verworfen. Sinn ist, dass ein böser User sich keine URLs oder Requests aufzeichnet und damit Dinge tut, die er nicht tun darf.

Generell ist natürlich auch noch fraglich, ob das, was Du da machst, rentabel ist. Unify ATOS hat für solche Aktionen eine Menge Tools in der Schublade. Ich bin nicht bei denen, aber mit OpenScape Voice und Genesys ein teurer Kunde... Natürlich nehmen die dafür eine Menge Euros, aber dafür geben sie auch Garantie, bringen Security-Konzepte mit und deine Stunden sind auch was wert.

Denk noch mal nach, bevor Du eine solche Tretmine in die Welt setzt.

Rolf

--
sumpsi - posui - clusi