Discussion:
PHP-session-Variable mit python-script auslesen
(zu alt für eine Antwort)
Thomas Müller
2006-12-17 00:17:56 UTC
Permalink
Hi,
ich würde gerne eine CaptChar-Lösung mit Python-Script realisieren. Ich
bin python-Neuling und habe zu dem Thema noch keine brauchbaren Quellen
im Netz gefunden.

Da ich eine fertige Lösung in PHP habe, könnte ich einfach die Grafik
vom PHP-Skript generieren lassen, müsste dann aber vom python-script aus
auf die session-Variable im PHP (in der der verschlüsselte Code der
Grafik steht) zugreifen. Ist das möglich? Wie?

Oder kennt jemand schöne Quellen zum Thema CaptCha via python-script?

Vielen Dank, viele Grüße
Thomas
Georg Brandl
2006-12-17 09:15:38 UTC
Permalink
Post by Thomas Müller
Hi,
ich würde gerne eine CaptChar-Lösung mit Python-Script realisieren. Ich
bin python-Neuling und habe zu dem Thema noch keine brauchbaren Quellen
im Netz gefunden.
Da ich eine fertige Lösung in PHP habe, könnte ich einfach die Grafik
vom PHP-Skript generieren lassen, müsste dann aber vom python-script aus
auf die session-Variable im PHP (in der der verschlüsselte Code der
Grafik steht) zugreifen. Ist das möglich? Wie?
Oder kennt jemand schöne Quellen zum Thema CaptCha via python-script?
Eine Google-Suche nach "python captcha" liefert mir mindestens drei
brauchbare Links zu Captchas in Python. Womit suchst du?

Georg
Christian Helmbold
2006-12-17 19:48:10 UTC
Permalink
Hallo Thomas,
Post by Thomas Müller
ich würde gerne eine CaptChar-Lösung mit Python-Script realisieren.
Das Ding heißt "Captcha" und steht für "Completely Automated Public
Turing-Test to tell Computers and Humans Apart".
Post by Thomas Müller
Da ich eine fertige Lösung in PHP habe, könnte ich einfach die Grafik
vom PHP-Skript generieren lassen, müsste dann aber vom python-script aus
auf die session-Variable im PHP (in der der verschlüsselte Code der
Grafik steht) zugreifen. Ist das möglich? Wie?
PHP legt die Sitzungsdaten als Dateien ab (wo hängt von der
Konfiguration des Webservers ab). Diese Dateien könntest du mit Python
parsen. Ich denke aber, dass es auch möglich sein sollte, die
PHP-Funktion so zu benutzen, dass man nicht diesen Umweg gehen muss,
sondern über die Standardeingabe bzw. -ausgabe kommunizieren kann. Oder
noch besser alles in Python, aber da habe keine Erfahrung...

Aber noch ein paar Anmerkungen zu Captchas:
1. Grenzt du damit Menschen mit Sehbehinderung aus, es sei denn, du
bietest auch eine akustische Variante an.
2. Gibt es Programme, die zumindest manche Captchas knacken können.
3. Können Captchas auf anderen Websites eingebunden und dort von
Menschen gelöst werden. Die Lösung verwendet der Angreifer dann auf
deiner Website. Für sowas wurden schon Porno-Websites ins Netz gestellt,
wo die geilen Surfer fix das Captcha gelöst haben und die Lösung an ganz
anderer Stelle gebraucht wurde.

Wenn du ein bisschen darüber nachdenkst, erübrigt sich das Problem
möglicherweise ganz...

Gruß
Christian
--
E-Mails werden nur mit Glück gelesen.

Schönschrift für Mails: "Bitstream Vera Sans Mono"
http://www.gnome.org/fonts/
Martin Kaffanke
2006-12-18 08:39:55 UTC
Permalink
Post by Thomas Müller
Da ich eine fertige Lösung in PHP habe, könnte ich einfach die Grafik
vom PHP-Skript generieren lassen, müsste dann aber vom python-script aus
auf die session-Variable im PHP (in der der verschlüsselte Code der
Grafik steht) zugreifen. Ist das möglich? Wie?
Also die Grafik kann man mit dem Python-Imaging-Library denke ich
mindestens so gut hinkriegen.

Aber wenn du eine Schnittstelle brauchst:

http://hurring.com/code/python/serialize/

Ich verwende das indem ich einfach das Cookie auslese:

(Unter colubrid)

c = self.request.cookies
if c.has_key('PHPSESSID'):
self.id = c['PHPSESSID'].value

sessionfile = self.session_prefix + str(self.id)
data = file(sessionfile).readline()
self.data = PHPUnserialize().session_decode(data)


Wobei self.session_prefix eine config variable ist, und bei debian und
ubuntu der String '/var/lib/php4/sess_' ist.

self.data ist dann das dictionary welches genau alle in php gespeicherten
Session Variablen enthält. (Ich habe aber nicht getestet wie das
aussieht, wenn man in php komplexe Dinge wie Objekte in die Session
ablegt, teilweise muss man die Daten noch etwas modifizieren bis sie
wirklich gut benutzbar sind, aber ansonsten finde ich die Lösung
eigentlich gar nicht schlecht.

Auch wenn mir eigentlich lieber wäre, wenn die Seite gar kein PHP braucht. ;-)

lg,
Martin

Loading...