• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Variable an externes Programm übergeben

SykesXable

New member
Moin,

ich habe zwischen zwei Browsern eine Peer-To-Peer-Verbindung aufgebaut mit der Variablen übertragen werden. Diese müssen jetzt in einem externen Programm weiter verarbeitet werden.
Nur leider bietet JS ja nicht die möglichkeit etwas in eine Datei zu schreiben oder in das Clipboard zu schreiben.
Nun meine Frage: Wie komme ich die Variablen auf meinen Rechner so das ich mit dem externen Programm darauf zugreifen kann?
Hab öfters was gelesen von Variablen an PHP übergeben aber ich betreibe ja keine WebSites sondern nur UserScripts für GM.

MfG
 
Findest du nicht, dass das ein fettes Sicherheitsloch wäre, wenn das so einfach möglich wäre? :)
Es müsste mit Flash gehen. Auf jeden Fall geht es mit einem zertifizierten Java Progrämmchen. Bei der Zertifizierung kann ich dir helfen aber nicht beim Code.

Hab das mal nach Allgmein verschoben. Denke nicht, dass wir dafür eine JS Lösung finden werden.
 
Aber das muss doch irgendwie zu machen sein ...
Es kann doch nicht sein, dass eine fremde Webseite auf deinem PC einfach irgendwelche Dateien speichert. Da müssten ja nicht einmal mehr Viren per Drive-By-Download den PC infizieren, sondern könnten "bequem" per JavaScript direkt auf den Rechner kopiert werden... Also vollkommen logisch, dass das nicht geht; findest du nicht auch?
Was evtl. möglich wäre: ein Cookie speichern und dann auf dem PC mit dem externen Programm aus der Cookiefile des Browsers dieses auslesen.
 
Ja, Cookie wäre noch eine Idee oder localstorage
Wobei ich da gar nicht weiß, wo der Browser den localstorage speichert, und ob man den genauso einfach auslesen kann. Weißt du da was dazu?
PS: stimmt, auch schon Cookies (und vor allem Flash-/"Super"-Cookies) können zu diversen Zwecken missbraucht werden...
 
Also die Speicherorte für Cookies müssten folgende sein:
  • Firefox: %localappdata%\Mozilla\Firefox\Profiles\default\cookies.sqlite
  • Chrome: %localappdata%\Google\Chrome\User Data\Default\Cookies
  • IE: {Benutzerordner}\AppData\Roaming\Microsoft\Windows\Cookies
 
SykesXable schrieb:
Nur leider bietet JS ja nicht die möglichkeit etwas in eine Datei zu schreiben oder in das Clipboard zu schreiben.
Doch das könnte gehen. Über die File API, hier wird beschrieben wie das geht. Allerdings muss am Remote-Rechner jemand sitzen um den Download zu bestätigen.
hesst schrieb:
per websocket direkt an das externe programm senden
Geht auch allerdings erfordert das einen Web-server wie PHP/Apache, nodejs oder ähnliches.

Willst du die Variablen in eine geöffnete Datei oder in ein geöffnetes Programm schreiben wird’s kompliziert. Das geht wenn überhaupt über WMI

MfG Xorg1990
 
Also theoretisch müsste ich 'einfach' per JS meine Variable per TCP auf Port X senden.. das müsste mein externes Programm eigentlich erkennen
 
SykesXable schrieb:
Also theoretisch müsste ich 'einfach' per JS meine Variable per TCP auf Port X senden.. das müsste mein externes Programm eigentlich erkennen
Hm, das ist ein Problem, da man vom Browser aus nicht auf das TCP/IP Protokoll zu greifen kann.

Du brauchst dann eine „Websocket to TCP Bridge“ um es mal auf gut Englisch zu sagen.
Das lässt sich ganz easy mit NoteJs realisieren, wenn du bei einer Programmiersprache bleiben möchtest.

Eine Möglichkeit (so würde ich das machen) ein kleines Perl Progrämmschen schreiben oder Python, Java, etc. Das lauert auf den Entsprechenden Websocket Port und schreibt die Daten in eine Datei.


hesst schrieb:
ohne mir den link jetzt genau angesehen zu haben(auf den 1. Blick war das webrtc) unterstützt die file api doch nur lesezugriffe.
Oh doch man kann sehr wohl schreiben:
FileSystem APIs kennenlernen - HTML5 Rocks

hesst schrieb:
an einem port lauschen, handshake durchführen und websocket protokoll fahren, wie ich es dir hier für php beschrieben hatte
Sag ich doch PHP als Webserver. Websockt von Browser zu Browser ist ja schon WebRTC
 
Du brauchst dann eine „Websocket to TCP Bridge“ um es mal auf gut Englisch zu sagen.
Das lässt sich ganz easy mit NoteJs realisieren, wenn du bei einer Programmiersprache bleiben möchtest.

Eine Möglichkeit (so würde ich das machen) ein kleines Perl Progrämmschen schreiben oder Python, Java, etc. Das lauert auf den Entsprechenden Websocket Port und schreibt die Daten in eine Datei.

Nun wie gesagt: Ich habe bereits ein Programm(geschrieben in vb.net) das auf Port X lauscht.
Wie macht man denn so eine 'Websocket to TCP-Bridge'? Wärst eventl. so freundlich mir da zu helfen? :)
 
Du brauchst dann eine „Websocket to TCP Bridge“ um es mal auf gut Englisch zu sagen.
Das lässt sich ganz easy mit NoteJs realisieren, wenn du bei einer Programmiersprache bleiben möchtest.
er hat ein externes programm, dort will er die daten verarbeiten, ich nehme mal an in c++, damit kann man ohne probleme einen websocket server aufsetzen

Eine Möglichkeit (so würde ich das machen) ein kleines Perl Progrämmschen schreiben oder Python, Java, etc. Das lauert auf den Entsprechenden Websocket Port und schreibt die Daten in eine Datei.
wenn sein externes programm doch ein script sein sollte, perl, python, was auch immer, oder java, kann man auch damit das websocket protokoll fahren

das ist veraltet, das ist das problem, wenn man gegen etwas implementiert, was noch nicht standard ist

Sag ich doch PHP als Webserver. Websockt von Browser zu Browser ist ja schon WebRTC
wenn er sein externes programm als php script implementiert hätte, könnte man das auch in php realisieren. da er das nicht hat, ist es aber sinnlos, die daten erst über ein php script in eine datei zu schreiben, um sie dann über ein weiteres programm auszulesen.
auch benötigt man dafür keinen webserver(apache, ...), sondern nur den php interpreter

- - - Aktualisiert - - -

Wie macht man denn so eine 'Websocket to TCP-Bridge'?
hier ist das protokoll beschrieben
hier eine gute implementierung in php
hier eine mit ein paar bugs, aber sonst ganz gut in c++
musst du nur noch in vb umsetzen
 
an einem port lauschen, handshake durchführen und websocket protokoll fahren, wie ich es dir hier für php beschrieben hatte
Wie es xorg bereits anmerkte: warum hast du dann seine Frage mit nein beantwortet? Für mich fällt das durchaus unter "Webserver...oder ähnliches"...
 
warum hast du dann seine Frage mit nein beantwortet?
weil die aussage
Geht auch allerdings erfordert das einen Web-server wie PHP/Apache, nodejs oder ähnliches.
falsch ist. man benötigt keinen webserver

Für mich fällt das durchaus unter "Webserver...oder ähnliches"...
1) zitiere nicht sinnverfälschend. nicht "Webserver...oder ähnliches", sondern "wie PHP/Apache, nodejs oder ähnliches"
2) php ist kein webserver, sondern eine scriptsprache
3) man benötigt weder apache, noch php oder nodejs, mit php oder nodejs kann man einen websocket server implementieren, aber den umweg über eine 3. komponente hier zu gehen ist sinnlos
 
Zurück
Oben