Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.03.2008, 21:44

Allgemeiner Algorithmus -> Ausloggen auf Websites

Hey,

ich habe ein kleines Problem. Ich arbeite gerade an einem Programm, welches mich auf bestimmten Websites ausloggen soll. Ich habe bis her hierfür einfach per HttpRequest die LogOut ID geschickt die ich vorher mit Rechtsklick auf den LogOut Button erfahren habe. Dies ist jedoch ungünstig da der Link jedesmal ein anderer ist. Ich kenne aber sonst keinen Algorithmus der mich auf einer Website ausloggt und nicht nur einmal funktioniert.
Es wäre schon wenn mir hier einige helfen könnten ein paar Ideen zu sammeln.

Vielen Dank
TheProgrammer
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

2

30.03.2008, 22:25

1. ich glaube der Begriff "Algorithmus" passt hier nicht so ganz.
2. Seh ich dass richtig, dass du dich mit einem anderen Programm, sprich einem Browser auf den Seiten anmeldest, deine Anwendung dich aber abmelden soll ? :?
3. Wenn das auf "bestimmten Seiten" funktionieren soll, die offenensichtlich keine Schnitstelle fuer sowas bereit stellen, wird wohl die einzige Moeglichkeit sein die entsprechende Seite zu laden sich zum Logout-Button durchzuparsen. Andernfalls muesste dein Programm ja beim Browser "mithoeren" um an sowas wie SessionIDs zu kommen..

Sehr seltsamen Vorhaben :)
"Have you tried turning it off and on again?"

3

30.03.2008, 22:27

Zitat

2. Warum laedst du nicht einfach die entsprechende Seite und parst dich bis zum Logout-Button durch? Wenn das auf "diversen Seiten" funktionieren soll, die offenensichtlich keine Schnitstelle fuer sowas bereit stellen wird das wohl die einzige Moeglichkeit sein


Was genau meinst du mit durchparsen?
Und du hast Recht, die Seiten haben keine spezielle Schnittstelle für sowas.

Danke schonmal für die schnelle Antwort...

Zitat

2. Seh ich dass richtig, dass du dich mit einem anderen Programm, sprich einem Browser auf den Seiten anmeldest, deine Anwendung dich aber abmelden soll ?


Exakt
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

4

30.03.2008, 22:33

Zitat von »"Theprogrammer"«


Was genau meinst du mit durchparsen?

Dein Programm laed die Seite, z.B. http://spieleprogrammierer.de/phpBB2/index.php. Dann durchsuchst du den html-Code bis du auf den fuers Ausloggen relevanten Code findest:

Quellcode

1
<a class="mainmenu" href="login.php?logout=true&sid=5823fec02de790011eblablabla">

Ich glaube php vergibt SessionIDs anhand der IP, also sollte deine Anwendung erkennen dass du eingeloggt bist. Sowas kann aber auf verschiedenste Weisen realisiert werden, du musst wissen wie die Gegenseite die An- nd Abmeldung handhabt.
"Have you tried turning it off and on again?"

5

30.03.2008, 23:23

Ich denke nicht das dieses Vorhaben funktionieren wird.
Wenn ich mich mit dem IE auf eine Seite anmelde und dieselbe Seite mit dem Firefox öffne bin ich im zweiten Browser nicht angemeldet.

Demnach sollte es auch einer Anwendung nicht möglich sein, außer sie benutzt den entsprechenden Cache des Brwosers um an den ( wenn so gelöst ) Session Cookie zu kommen.

Wird die SessionId aber direkt übergeben ( also keine Cookies ) siehts wieder schlecht aus.

Die sicherste Lösung wäre es den Firefox zu benutzen und ein Plugin zu schreiben.



Darf man fragen was der ganze Zirkus soll? Eventuell gibt es eine leichtere Lösung für dein Problem.

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

6

30.03.2008, 23:47

Zitat von »"chriss"«

Ich denke nicht das dieses Vorhaben funktionieren wird.
Wenn ich mich mit dem IE auf eine Seite anmelde und dieselbe Seite mit dem Firefox öffne bin ich im zweiten Browser nicht angemeldet.

Ok, das wusste ich nicht. Dann wird wohl ein Cookie dafuer verantwortlich sein, dass muesstest du in deinem HTTP-Request simulieren. Also, Cookie-Datei suchen, auslesen, den Inhalt mitsenden, dann die Seite parsen. Wirst nicht drum herumkommen dich mal hier einzulesen: http://de.php.net/session. Aber ich geb' chriss recht, lass den zirkus :)
"Have you tried turning it off and on again?"

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

31.03.2008, 00:05

Hehe, wollte mich eigentlich nicht einmischen, aber ich mache es einfach so, dass FF alles abmeldet und löscht,was es gibt, sobald ich ihn schliesse. Fertig.

8

31.03.2008, 12:12

Am besten machst du sowas mit Perl, das ist da ganz hervorragend für geeignet. Ich hab ähnliche Probleme und auch viel komplexere so gelöst. Wenn du mir genau sagen kannst, was du vorhast, kann ich dir einen Lösungsansatz geben.

Werbeanzeige