Linux script starten vanuit een brouwser

Status
Niet open voor verdere reacties.

awc

Gebruiker
Lid geworden
16 sep 2008
Berichten
110
Mijn doel is om vanuit een browser een bash script te starten en de data welke het bash script genereert als resultaat in de browser weer te geven.

Wat heb ik:
- in de xinetd.d een bestand aan gemaakt met de service naam: port_test
- het bestand /etc/services een regel toegevoegd met een vrij port nummer en service naam: port_test
- een bash bestand gemaakt welke eenvoudig data produceert.
- xinet opnieuw gestart

Op zich werkt dit goed.
Wanneer ik in de adres regel van de browser: "http://ip:port" in geef dan krijg ik de data uit het script in de browser te zien.

Mijn vraag:
Ik wil graag enige sturing in het script. Hiervoor wil ik bijvoorbeeld in de adres regel ingeven: http://ip:port?actie=lijst
Hoe kan ik in mijn script de adres regel van de browser uitlezen?
 
daar is een webserver voor uitgevonden ;)

Er zijn wel PERL en CGI oplossingen die je kunt gebruiken, maar persoonlijk zou ik dan meteen een webserver installeren
 
Das helemaal waar. Vanuit PHP kan ook een bash script worden gestart.

De server is in dit geval een Raspberry PI. Dus niet al te veel performance.
Ik dacht aan een snelle en eenvoudige oplossing. Zonder al te veel extra toeters en bellen.
Ik vermoed dat wanneer de service het script opstart, dat dan de inhoud van de adres balk op een of andere manier mee gegeven wordt.

Mijn vraag blijft dus nog wel:
Hoe kan ik in mijn script de adres regel uitlezen.
 
Ik heb ook enkele RPI's en een webserver als NGINX is nauwelijks meer dan 1% CPU op de RPI (2b + 3). Een van mijn RPI3's doet tot 600 webrequests/s, bewerkt de informatie en gooit deze informatie in een database via python in ik zit nog zelden boven 20%. (100 MB+ informatie per uur)

Wat je binnen krijgt is de HTTP request. Uit de HTTP request kun je de "PATH" variabele halen. De PATH variabele kun je bewerken op de benodigde manier (bijvoorbeeld via REGEX) om de eventuele extra opdracht te filteren.

"probleem" met deze oplossing is dat je alle valkuilen hebt qua misbruik die gewoon netjes opgelost zijn in een webserver.

zie bijvoorbeeld http://www.perlmonks.org/?node_id=219812 voor een script mogelijk zijn er anderen
 
Dank wampier.
Ik zie dat per de ontvangen data inleest met: $client->recv($req, 700000);

Nu is mijn vraag, kan ik de data ook inlezen met een shell script?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan