CGI Problem (mit C eine Passwortabfrage machen)

02/06/2008 16:07 Edhle#1
Ich möchte eine Passwortabfrage über ein CGI-Protokoll machen. Das soll vom Aufbau her folgendermaßen aussehen:

html-Datei mit User / PW Input
->
CGI-Auswertung
->
(eventuelle) VERSCHLÜSSELTE Weiterleitung

Das eigentliche Problem ist, dass KEIN .htaccess benutzt werden darf.
Jetzt blick ich aber auch absolut nicht durch CGI durch. Hab mir schon etliche Tutorials angesehen, leider gibt es für C + CGI keine wirklich guten.
Kann mir jemand helfen und mir erklären, wie man die eingebebenen Daten aus der HTML in CGI verarbeitet? Bspw wenn die HTML so aussieht:

Code:
<html>
<head>
<title>Passwort-Abfrage</title>
</head>
<body>
<pre>
<form action="/pfad/zeug.cgi" method=post>
Username:
<input value="Username" name="user" size="20">
Passwort:
<input type=password value="" name"pw" size="20">
<input type="reset"><input type=submit value="Abschicken">
</form>
</pre>
</body>
</html>
//edit: Achja, ich benutz nun doch C++.
02/06/2008 22:42 mr.rattlz#2
Eventuell solltest du dafür eine bereits verfügbare library benutzen, wie beispielsweise cgic: [Only registered and activated users can see links. Click Here To Register...]
02/07/2008 13:42 Edhle#3
Ehm ja, da kommen wir zum nächsten Problem. Ich darf auch keine externen Librarys benutzen, sonst hätte ich die cgilib für Linux Systeme benutzt, mit der das auch etwas einfacher ginge. Könntest du mir evt. sagen, wie denn der Output aussieht, wenn ich obiges HTML Formular benutze? Es werden ja glücklicherweise keine Leerzeichen, Zeichenabsätze, o.Ä. benutzt, daher muss ich das ja nicht zuerst "umdekodieren", ne? Wenn ich jetzt aber bspw wüsste, dass der Output so aussieht:
Username=Blabla;PW=Blablablup
dann könnte ich das abarbeiten, aber momentan kann ich das auch nicht irgendwie überprüfen, da ich hier kein Apache benutzen darf (ich darf ja auch sonst nix), ergo hab ich keine Chance das ganze "Online" zu testen.
//edit : Noch was... ich weiß, dass mit der POST Methode in der stdin alles gespeichert wird, kann ich die als ganz normale Variable aufrufen, bspw mit char *str = stdin oder direkt mit cout<<stdin ?
//edit : Ooooooookay. Jetzt weiss ich, dass das im stdin folgendermaßen angezeigt wird:
frage=antwort&frage=antwort&...
Jetzt weiß ich aber immer noch nicht wie ich stdin aufrufe, da der Compiler beim übersetzen meckert, dass stdin ja natürlich eine undefinierte Variable ist. (Oder hab ich da was falsch verstanden und stdin = C und cin = C++ ? Falls ja müsste ich dann einfach direkt am Anfang der cig einen String mit cin definieren? Oo