• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Wie erstellt man Cookies in C/C++?

rumkugel

Anfänger/in
Mitglied seit
26.03.2008
Beiträge
56
Reaktionspunkte
0
Ich möchte eine Website erstellen und muss erkennen können ob jemand eingeloggt ist. Dazu bieten sich meiner Meinung nach Cookies am besten an.

Da ich aber so gut wie nichts über PERL weiß und auch keine neue Sprache lernen will möchte ich dies gerne in C/C++ tun.
Deswegen möchte ich wissen wie man Cookies erstellt und ausliest.

Danke im Vorraus
 
rumkugel am 02.08.2008 23:57 schrieb:
klausbyte am 02.08.2008 21:34 schrieb:

Ist das nicht möglich oder warum?
Cookies werden vom Server im HTTP-Header übertragen. Wenn du das mit C(++) implementieren willst, brauchst du vermutlich einen ASP.NET-Server. Bin mir da aber nicht sicher, da ich mich mit Webanwendungen eigentlich nicht auskenne. :B


Klaus will vermutlich sagen, dass man so etwas heute mit PHP oder dergleichen macht.


edit: http://de.php.net/setcookie
 
rumkugel am 02.08.2008 17:29 schrieb:
Ich möchte eine Website erstellen und muss erkennen können ob jemand eingeloggt ist. Dazu bieten sich meiner Meinung nach Cookies am besten an.

Da ich aber so gut wie nichts über PERL weiß und auch keine neue Sprache lernen will möchte ich dies gerne in C/C++ tun.
Deswegen möchte ich wissen wie man Cookies erstellt und ausliest.

Danke im Vorraus

Ich sehe das genau anders, stell dir vor jemand hat Cookies bei sich deaktiviert, was dann? In PHP könnte man dann Sessions verwenden, gibt es aber auch bei anderen Sachen. C(++) würde ich dafür allgemein weniger verwenden, ist einfach nicht gut in diesem bereich einzusetzen.
 
OverNord am 03.08.2008 01:45 schrieb:
Ich sehe das genau anders, stell dir vor jemand hat Cookies bei sich deaktiviert, was dann?
Dann soll er sie gefälligst aktivieren. Dafür gibt es ja so praktische FF-Plugins wie CookieSafe.

Beim normalen Surfen sollte keiner Cookies aktivieren (umso nerviger, wenn manche Seiten unnötigerweise darauf bestehen), aber wenn man einen Dienst mit Identifizierung in Anspruch nehmen will, dann muss man eben in den sauren Apfel beißen. Man sollte den Webmastern das Leben nicht unnötig schwer machen.


Und Session-IDs machen hässliche URLs. ;)
 
OverNord am 03.08.2008 01:45 schrieb:
rumkugel am 02.08.2008 17:29 schrieb:
Ich möchte eine Website erstellen und muss erkennen können ob jemand eingeloggt ist. Dazu bieten sich meiner Meinung nach Cookies am besten an.

Da ich aber so gut wie nichts über PERL weiß und auch keine neue Sprache lernen will möchte ich dies gerne in C/C++ tun.
Deswegen möchte ich wissen wie man Cookies erstellt und ausliest.

Danke im Vorraus

Ich sehe das genau anders, stell dir vor jemand hat Cookies bei sich deaktiviert, was dann? In PHP könnte man dann Sessions verwenden, gibt es aber auch bei anderen Sachen. C(++) würde ich dafür allgemein weniger verwenden, ist einfach nicht gut in diesem bereich einzusetzen.

Es ist mittlerweile Gang und Gebe Cookie based Sessions einzusetzen. Cookies bieten doch einige (Sicherheits-)Vorteile.

Es ist zwar grundsätzlich möglich Webapplikationen in C++ zu schreiben, allerdings sollten fertige Lösungen einiges kosten, oder man muss sich seinen eigenen Applikationsserver schreiben.
Bahn.de basierte bis vor einiger Zeit, soweit ich weiß, noch auf C++ inklusive eigenem Applikationsserver. Mittlerweile steht im HTTP Header nur noch Apache.

Ich persönlich würde empfehlen Python oder Ruby zu lernen und entsprechende Frameworks (Python: Django, TurboGears - Ruby: Ruby on Rails, Merb) zu nutzen.

Eine Alternative wäre C# und ASP.NET.
 
airbuspilot am 03.08.2008 03:48 schrieb:
Es ist zwar grundsätzlich möglich Webapplikationen in C++ zu schreiben, allerdings sollten fertige Lösungen einiges kosten, oder man muss sich seinen eigenen Applikationsserver schreiben.
Ja, aber C++ an sich kann das nicht, und das war ja die Frage. Die habe ich richtig beantwortet :B
 
naja wie auch immer... Ich hab jetzt selber rausgefunden wies geht:

cookies erstellen:
einfach im html-header folgendes:

printf( "Set-Cookie: name=wert\nContent-type: ...\n\n" );

cookies auslesen:

char *cookies = getenv( "HTTP_COOKIE" );


danke für die (teilweise sehr kreativen) antworten
 
rumkugel am 03.08.2008 15:40 schrieb:
naja wie auch immer... Ich hab jetzt selber rausgefunden wies geht:

cookies erstellen:
einfach im html-header folgendes:

printf( "Set-Cookie: name=wert\nContent-type: ...\n\n" );

cookies auslesen:

char *cookies = getenv( "HTTP_COOKIE" );


danke für die (teilweise sehr kreativen) antworten
Und wie verschickst du HTTP? :o

(Die Frage ist ernst gemeint).
 
klausbyte am 03.08.2008 20:07 schrieb:
HTTP ist ein Protokoll - wie verschickst du das direkt aus C++ an einen Browser der anfragt?

Entschuldigung das es so lange gedauert hat aber ich hatte leider keine Zeit.
Ich denke mal du meinst wie man mit einem Programm html Quelltext ausgibt.
Das geht so:
#include <iostream>

using namespace std;

int main( void )
{
cout << "Content-type: text/html\\n\\n";
cout << "<html><body>Dies is jetzt ne internet seite die dein browser anzeigt</body></html>";

return 0;
}
 
rumkugel am 04.08.2008 18:32 schrieb:
klausbyte am 03.08.2008 20:07 schrieb:
HTTP ist ein Protokoll - wie verschickst du das direkt aus C++ an einen Browser der anfragt?

Entschuldigung das es so lange gedauert hat aber ich hatte leider keine Zeit.
Ich denke mal du meinst wie man mit einem Programm html Quelltext ausgibt.
Das geht so:
#include <iostream>

using namespace std;

int main( void )
{
cout << "Content-type: text/html\\n\\n";
cout << "<html><body>Dies is jetzt ne internet seite die dein browser anzeigt</body></html>";

return 0;
}
Ich glaube eher Klaus meint, wie genau du das einsetzt. Hast du einen eigenen Webserver in C geschrieben?
 
Ich weiß wie man einen Header schreibt..

Ich möchte Wissen wie du das an den Client, jeden beliebigen Browser in deinem Netzwerk, schickst.
 
klausbyte am 04.08.2008 19:09 schrieb:
Ich weiß wie man einen Header schreibt..

Ich möchte Wissen wie du das an den Client, jeden beliebigen Browser in deinem Netzwerk, schickst.

In dem das Programm nicht ausgeführt wird sondern im Browser geöffnet wird wie ein normales html Dokument. Dazu muss einfach der Pfad des Programms in die Adresszeile des Browsers eingegeben werden.
 
rumkugel am 04.08.2008 20:36 schrieb:
klausbyte am 04.08.2008 19:09 schrieb:
Ich weiß wie man einen Header schreibt..

Ich möchte Wissen wie du das an den Client, jeden beliebigen Browser in deinem Netzwerk, schickst.

In dem das Programm nicht ausgeführt wird sondern im Browser geöffnet wird wie ein normales html Dokument. Dazu muss einfach der Pfad des Programms in die Adresszeile des Browsers eingegeben werden.
CGI?
 
CGI ist alt und langsam. Es gibt deutlich effizientere Lösungen, z.B. FastCGI oder WSGI.
 
Zurück