PHP - Toetsen simuleren?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
Hoi tweakers,

Ik heb bij me thuis apache2+php4.3.2 draaien onder windows xp sp2 (nl)

Nou wil ik als ik op school ben mijn bureaublad thuis kunnen overnemen.
Ik heb het al eindeloos geprobeerd via remote desktop en vnc-varianten, maar het lukt met geen enkel programma. De proxy server op school staat namelijk geen alleen http (GET en POST) requests toe, je kan niet eens op een site met ssl encryption. :(

Maargoed, ik blijf volharden en ben ertoe over gegaan om dan maar een php/webbased remote desktop over http te maken.

Ik had het volgende idee:
- Een php script wat een screenshot van m'n eigen computer maakt (server-side dus)
- Een php script wat toetsaanslagen en muishandelingen kan simuleren op m'n eigen computer (ook server side dus)

Ik heb de volgende tooltjes gevonden:
Capturemation - Dit is een tooltje wat vanaf de command-line een screenshot kan maken en als jpeg op kan slaan op een opgegeven lokatie.

Autoit3 - Een scripting taal waarmee je makkelijk toetsen en muis kan simuleren, en kan compileren naar exe bestanden.


Dan laat ik de php scripten dus bv met shell_exec("capturemation.exe /full /c:/scherm.jpeg"); een screenshot maken, en met shell_exec("keyb_pressenter.exe"); uitvoeren.

Ik heb het getest vanaf een andere computer en het werkt.


MAAR

Het werkt alleen als ik aangemeld ben!

Als ik niet aangemeld ben of mijn winxp is gelocked, dan weigeren capturemation en autoit3, en moet php na 5 minuten de processen terminaten.


Wie kan mij helpen??!!

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Capture prog als service draaien.

Acties:
  • 0 Henk 'm!

  • Nahata
  • Registratie: Juni 2004
  • Laatst online: 20-09 20:48
Modbreak:De bedoeling van dit forum is niet een ontmoetingsplek om vervolgens het probleem buitenom op te lossen.

[ Voor 79% gewijzigd door Janoz op 09-10-2004 20:21 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Het lijkt mij juist handig de discussie centraal te houden.
Als ik niet aangemeld ben of mijn winxp is gelocked, dan weigeren capturemation en autoit3, en moet php na 5 minuten de processen terminaten.
Een proces wil graag bij een user horen, en wanneer je niet ingelogd bent weten ze niet bij welke user.
Capture prog als service draaien.
Weet niet of dat gaat bij een programma dat even draait om een screenshot te maken en dan weer afsluit.

[ Voor 4% gewijzigd door Janoz op 09-10-2004 20:21 ]


Acties:
  • 0 Henk 'm!

  • Nahata
  • Registratie: Juni 2004
  • Laatst online: 20-09 20:48
[quote]GlowMouse schreef op 09 oktober 2004 @ 20:20:
[...]

Het lijkt mij juist handig de discussie centraal te houden.


ik wilde vragen of die het script naar me toe wilde stuuren :P

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
In eerste plaats: bedankt voor jullie reacties.
Een proces wil graag bij een user horen, en wanneer je niet ingelogd bent weten ze niet bij welke user.
Het programma draait als user SYSTEM (apache user)
Weet niet of dat gaat bij een programma dat even draait om een screenshot te maken en dan weer afsluit.
Dat zou eventueel nog kunnen, het als service laten draaien, maar dat kan alleen met het screenshot gedeelte, niet met de 'keysimulator'
ik wilde vragen of die het script naar me toe wilde stuuren
Het probleem licht dus niet aan het script, maar aan de progsels autoit3 en capturemation. Die weigeren te draaien als ik niet zelf ingelogd ben.

[ Voor 10% gewijzigd door assembler op 09-10-2004 20:29 ]


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
GlowMouse schreef op 09 oktober 2004 @ 20:20:
Weet niet of dat gaat bij een programma dat even draait om een screenshot te maken en dan weer afsluit.
Daarom zul je dat ook anders aan moeten pakken, de service zal op events moeten gaan reageren en op die manier een screenshot maken. En waarschijnlijk zul je met de w32 extentie aan de gang moeten.

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
PrisonerOfPain schreef op 09 oktober 2004 @ 20:28:
[...]

Daarom zul je dat ook anders aan moeten pakken, de service zal op events moeten gaan reageren en op die manier een screenshot maken. En waarschijnlijk zul je met de w32 extentie aan de gang moeten.
Daar heb ik dus ook al naar gekeken, naar die windows api's, maar ik kan er geen vinden die toetsen kan simuleren / screenshot kan maken.

Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Je kunt ook proberen de pakketjes die VNC stuurt en ontvangt in HTTP-requests te verpakken. Je zult dan waarschijnlijk moeten pollen om informatie te krijgen (de beeldinformatie), terwijl toetsenbordaanslagen en muisbewegingen gewoon bijna direct (of eventueel een beetje gebufferd) ook als HTTP-requests gestuurd wordt.

Het wordt wel ontzettend ranzig en traag, maar het zal vast beter worden dan af en toe screenshots maken.

Even pseudo-code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private socket;
private databuffer;

void main {
  socket.listen(5900);
}

void socket_connected {
  doRequest("GET", 
       "http://jouwthuisserver/jouwscriptje?action=connect_to_vnc");
  eenTimerDieOmDeSecondeAfgaat.enable();
}

void eenTimerDieOmDeSecondeAfgaat {
  data = doRequest("POST, 
        "http://jouwthuisserver/jouwscriptje?action=getAndSendData", 
        databuffer);
  databuffer = "";
  socket.senddata(data)
}

void socket_data_arrival(string data) {
  databuffer = databuffer + data;
}


Op jouw server moet dan constant een (eigen) programma draaien dat de verbinding met de vnc-server 'up' houdt. Het genoemde scriptje (bijv via php) zal deze data naar dat (eigen) programma sturen, die het vervolgens weer naar vncserver stuurt.

Ontvangen vncserver-data wordt door je (eigen) programma ook weer gebuffered, totdat er een getAndSendRequest wordt ontvangen.

Ik hoop dat je het idee door hebt... zoals ik al zei wordt het erg ranzig... ;)

[ Voor 9% gewijzigd door Kuhlie op 09-10-2004 20:48 . Reden: code opgemaakt zodat de breedte van dit topic niet stukgaat ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
gewoon een idee: je kan ieder pakket als service laten draaien met een gratis programma in de resource kit. Ik kan me voorstellen dat je dus een programma schrijft welke vervolgens er voor zorgt dat de screenshots steeds weg worden geschreven.

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Hmm. Ik heb wel ooit eens een remoting programma gezien dat over het http protocol werkte, is dat niet iets? Ik weet niet of je dit al gezien hebt: http://www.microsoft.com/...ert/northrup_03may16.mspx

[ Voor 36% gewijzigd door alienfruit op 09-10-2004 21:22 ]


Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
alienfruit schreef op 09 oktober 2004 @ 21:21:
Hmm. Ik heb wel ooit eens een remoting programma gezien dat over het http protocol werkte, is dat niet iets? Ik weet niet of je dit al gezien hebt: http://www.microsoft.com/...ert/northrup_03may16.mspx
Dit heb ik wel eens geprobeerd met iis, maar het gewoon een remote desktop client alleen dan in activex.

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
djluc schreef op 09 oktober 2004 @ 21:17:
gewoon een idee: je kan ieder pakket als service laten draaien met een gratis programma in de resource kit. Ik kan me voorstellen dat je dus een programma schrijft welke vervolgens er voor zorgt dat de screenshots steeds weg worden geschreven.
Bedankt voor de tip, ik zal er eens even naar kijken
Als ik het screenshot programma als service instel, kan ik natuurlijk vanuit php met shell_exec("net stop ..."); en net start...

btw: weet je nog welk programma uit de resource kit dat was?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Er bestaan allerlei http-tunnels, daarmee kan je server-side en client-side willekeurige TCP-packets verzenden/ontvangen terwijl het allemaal in HTTP-pakketjes verpakt is onderweg. Dan kan je gewoon vnc of wat je ook wilt draaien gebruiken, lijkt me.

Ter illustratie:
http://www.http-tunnel.com/html/solutions/overview.asp

[ Voor 14% gewijzigd door ACM op 09-10-2004 21:33 ]


Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
ACM schreef op 09 oktober 2004 @ 21:32:
Er bestaan allerlei http-tunnels, daarmee kan je server-side en client-side willekeurige TCP-packets verzenden/ontvangen terwijl het allemaal in HTTP-pakketjes verpakt is onderweg. Dan kan je gewoon vnc of wat je ook wilt draaien gebruiken, lijkt me.

Ter illustratie:
http://www.http-tunnel.com/html/solutions/overview.asp
Wauw!!, dit klink er veelbelovend! :9~

Acties:
  • 0 Henk 'm!

  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 17-09 13:38

Kogelvis

Nu ook met gitaar

Wel een interresant projectje dit :)
ik heb een aantal jaar geleden dit al eens geprobeerd http://www.remotelyanywhere.com/ werktte destijds erg leuk over http misschien is dat wat?

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25


Acties:
  • 0 Henk 'm!

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 17:24

soepkip

Kratjes kunnen nu ook voorin

Kogelvis schreef op 09 oktober 2004 @ 22:30:
Wel een interresant projectje dit :)
ik heb een aantal jaar geleden dit al eens geprobeerd http://www.remotelyanywhere.com/ werktte destijds erg leuk over http misschien is dat wat?
kost ook wat.....

Maar ben je zeker dat er op protocol wordt gefilterd ?
of wordt er alleen op poort gefilterd ? zo ja, vnc op poort 80 of 8080 laten draaien

Beste film ooit


Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
De TS heeft het over een proxy, hij zal dan vast niet langs die proxy heen naar het internet kunnen.

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
soepkip schreef op 09 oktober 2004 @ 23:11:
[...]

kost ook wat.....

Maar ben je zeker dat er op protocol wordt gefilterd ?
of wordt er alleen op poort gefilterd ? zo ja, vnc op poort 80 of 8080 laten draaien
Er wordt idd op poort gefilterd, je mag alleen op poort 80 naarbinnen bij iemand anders.
En er wordt op connectietype gelet, je mag geen streams gebruiken, zowel up, als down, dus vnc op poort 80 werkt niet.

Acties:
  • 0 Henk 'm!

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 14:15

BrZ

_assembler_ schreef op 09 oktober 2004 @ 21:47:
[...]


Wauw!!, dit klink er veelbelovend! :9~
Probleem is dat je met zulke software aan de clientside ook iets met hebben draaien, en dat lukt vaak niet op scholen ;)

Acties:
  • 0 Henk 'm!

Verwijderd

BrZ schreef op 10 oktober 2004 @ 00:48:
Probleem is dat je met zulke software aan de clientside ook iets met hebben draaien, en dat lukt vaak niet op scholen ;)
http://www.htthost.com/

Dit is ongeveer een zelfde product, maar volgends mij kan je dit ook zonder installatie gebruiken (meen ik) (thuis installeren en dan copy naar usb disk).

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
Okee, deze reply is natuurlijk erg laat, maar ik wil deze toch nog even posten voor de compleetheid van het topic.
Verwijderd schreef op zondag 10 oktober 2004 @ 13:55:
[...]

http://www.htthost.com/

Dit is ongeveer een zelfde product, maar volgends mij kan je dit ook zonder installatie gebruiken (meen ik) (thuis installeren en dan copy naar usb disk).
Met dit product is het mij dus gelukt.

Op de server (thuis) draait de server versie van het pakket, en remote-administrator/vnc

Op een pc op school draai ik de client-versie, ook installeer ik een r_admin client (of vnc-viewer)

In het htt-host-client programma maakte ik een tunnel aan van de lokale poort 5900 (vnc) en eentje voor radmin(weetnietmeer), dan ging er een groen icoontje branden 'Connected'

Als ik dan met r_admin of vnc naar localhost connecte kwam ik op mijn pc uit!!

R_admin is wel beter dan vnc, ik kan bijvoorbeeld ook kiezen uit 16-kleuren, met deze lage kleuren is de snelheid nog best goed.

VNC kan niet zo goed overweg met het user-gedeelte van windows, als ik mijn pc gelocked had, en in logde in via vnc, en typte mijn windows-password in, dan knalde de connectie eruit.

Goed dat was even ter afsluiting, dan weten andere mensen ook dat htt-host een geweldig-GRATIS product is!

Acties:
  • 0 Henk 'm!

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:39
Als je op je PC IIS hebt draaien, kan je ook Remote Desktop Web Connection installeren. Is gewoon van Microsoft en ook gratis.

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
riezebosch schreef op maandag 27 juni 2005 @ 13:31:
Als je op je PC IIS hebt draaien, kan je ook Remote Desktop Web Connection installeren. Is gewoon van Microsoft en ook gratis.
Dit werkt dus niet omdat je een open verbinding moet hebben.
Staat hierboven ook al ergens.
Mijn late post was alleen ter afsluiting.

Aan een modje: deze mag wat mij betreft op slot, topic heeft z'n tijd gehad.

Acties:
  • 0 Henk 'm!

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:39
Van de link die ik gaf:
Remote Desktop Web Connection provides most of the same functionality as the Remote Desktop Connection software; but it does not require a private network, or virtual private network connection.
Waar het op neer komt: Je krijgt gewoon als je naar je eigen IP surft in je browser een login-scherm te zien van RDC. Hiermee kan je nog op alle gewenste computers inloggen die direct aan het Internet verbonden zijn. Ook dus die PC waar je deze site op host. Alles wordt dus gewoon via HTTP verstuurd, en je hebt dus ook geen secure connection oid nodig.

edit:

En over het op slot doen: dat wordt alleen gedaan als topics onzinnig zijn. Niet als het antwoord al gegeven is ofzo!

[ Voor 11% gewijzigd door riezebosch op 28-06-2005 12:02 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
riezebosch schreef op dinsdag 28 juni 2005 @ 12:01:
Van de link die ik gaf:

[...]


Waar het op neer komt: Je krijgt gewoon als je naar je eigen IP surft in je browser een login-scherm te zien van RDC. Hiermee kan je nog op alle gewenste computers inloggen die direct aan het Internet verbonden zijn. Ook dus die PC waar je deze site op host. Alles wordt dus gewoon via HTTP verstuurd, en je hebt dus ook geen secure connection oid nodig.

edit:

En over het op slot doen: dat wordt alleen gedaan als topics onzinnig zijn. Niet als het antwoord al gegeven is ofzo!
Ik weet het, je hebt inderdaad geen vpn nodig, wel moet je poort 3389 openzetten op je router (huh?), en werkt het niet via een proxy die alleen http (non-ssl) verkeer doorlaat.

Acties:
  • 0 Henk 'm!

Verwijderd

_assembler_ schreef op dinsdag 28 juni 2005 @ 13:41:
[...]


Ik weet het, je hebt inderdaad geen vpn nodig, wel moet je poort 3389 openzetten op je router (huh?), en werkt het niet via een proxy die alleen http (non-ssl) verkeer doorlaat.
Daarom is het nogsteeds handig om htthost te draaien, dan zit je in een soort van VPN over poort 80. Dus je hebt overal de beschikking over "alle" poorten op je computer, of je nou 20 poorten wil hebben, of maar 1. Je komt er met htthost.

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
precies, dat probeer ik riezebosch dus ook al duidelijk te maken :)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Nog n idee. Misschien heb ik t topic niet compleet begrepen. Maaruh... SSH, werkt dat wel op school :? Ik heb altijd dat op n hoop plekken je met standaard VNC tools niet door t netwerk komt. Maar sinds ik VNC tunnel over SSH (port 22) dan werkt het overal vlekkeloos. In principe zou je die SSH server ook vast wel over port 80 kunnen krijgen. Bovendien, dat was mijn reden eigenlijk om het op te zetten, is je VNC verbinding nu nog encrypted ook wat het geheel mooi veilig maakt.

Acties:
  • 0 Henk 'm!

  • assembler
  • Registratie: Mei 2004
  • Niet online
SSH werkt niet.

ALLES (ECHT ALLES) is dicht gezet behalve HTTP-GET en HTTP-POST

en htthost kan al het tcp-verkeer in http-get/post pakketjes doen, en daarmee kan je dus wel alles doen.

Maar dan heb je wel een 'trusted' host buiten de proxy nodig (mijn server thuis)

Acties:
  • 0 Henk 'm!

  • BreeeZe
  • Registratie: Februari 2000
  • Laatst online: 19-09 13:42

BreeeZe

Devt

htthost is idd een prima stukje software, gebruik het ook al een tijd maar dan icm MS Remote Desktop, let dan alleen wel op dat je via een andere poort als 3389 moet verbinden als je via een XP client werkt, die poort is dan al in gebruik op localhost namelijk ;)
Pagina: 1