Shellsript als CGI (Parameterübergabe)?

#647268
Lesenswert?

Hallo,
wenn ich ein Shellskript schreibe, kann ich auf der Konsole die 
Parameter einfach durch leerzeichen getrennt hinter den Skriptaufruf 
schreiben!
So, wie mache ich es aber, wenn ich das Script über CGI im Browser 
aufrufe?
Mit einem Parameter geht es (wwww.sadasd.de/cgi-bin/test?Parameter)! Wie 
mache ich es wenn ich mehr als einen Parameter übergeben will?
#647433
Lesenswert?

@Rufus:
Also wenn ich ein Skript schreibe:
1
echo $1
2
echo '<br>'
3
echo $2
dann kann ich das spript mittels Konsole so aufrufen:
skript.sh param1 param2
und die Parameter werden korrekt ausgegeben (bzw. weiterverarbeitet)! 
Wenn ich das skript im Browser aufrufe habe ich absolut keinen plann wie 
ich die Parameter übergeben soll!
Folgendes funktioniert nicht:
www.bla.fusel/index.php?1=test1&2=test2
www.bla.fusel/index.php?test1&test2
Ich habe absolut keinen Ansatz, wie ich die Parameter korrekt trennen 
muss!

Und bei der von dir Beschriebenen Methode, weiß ich nicht wie ich die 
Parameter im Skript veiterverarbeiten soll!
www.bla.fusel/index.php?a=4&b=3
also folgendes Funktioniert nicht:
1
echo $a
2
echo '<br>'
3
echo $(b)
#647499
Lesenswert?

Also die Ausgabe mache ich wie beschrieben mit:
1
echo $1
2
echo '<br>' 
3
echo $2

Bei www.bla.fusel/index.php?1=test1&2=test2 wird nichts ausgegeben.
Bei www.bla.fusel/index.php?test1&test2 wird "test1&test2" als 1. 
Parameter ausgegeben und der 2. Parameter bleibt leer!
Gast #647507
Lesenswert?

elektro gandalf:

hier mal was zum angucken
teststring zb: http://127.0.0.1/do.cgi?1=hallo welt&2=schoene welt



#!/bin/bash


OPTION1=`echo "$QUERY_STRING" | grep -oE "(^|[?&])1=[^&]+" |  sed 
"s/%20/ /g" | cut -f 2 -d "=" | head -n1`
OPTION2=`echo "$QUERY_STRING" | grep -oE "(^|[?&])2=[^&]+" | sed "s/%20/ 
/g" | cut -f 2 -d "="`

echo "Content-type: text/html"
echo ""
echo 
"<html><head><title>bliblablu</title></head><body><h1>blublabli</h1><pre 
>";
echo "OPTION1: <em>$OPTION1</em><br />"
echo "OPTION2: <em>$OPTION2</em><br />"
echo "</pre></body></html>";
Gast #647518
Lesenswert?

was soll eiegtnlich der php suffix, dachte mir das ist ein shellscript?

das das ganze super gefaehrlich ist und ncioht fuer jeden mit 
internetanschluss erreichbar sein sollte ist klar oder?

ohne vernuenftiges parsen oeffnest du da manipulationen tuer und tor.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren