Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Problem Captcher im Kontaktformular
feniweb
Beitrag Mon. 5. May 2008, 11:22
Beitrag #1


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



Hallo SF

2 Probleme mit Captcher

1. Vor kurzem habe ich mal Dateien über FTP auf einen local PC geladen. Dabei ist mir aufgefallen das unter dem Pfad /cms/files/tmp/captcha/
mehrere 1000 Dateien gefunden. blink.gif Nun meine Frage: werden diese Dateien nicht nach einer gewissen zeit automatisch gelöscht?

2. Bei einem neuen Hosting wird bei das Captcher-Bild so dargestellt. Da kann natürlich niemand was erkennen. kennt jemand den grund?
Angehängte Datei  Zuschneiden_84.jpg ( 4.13KB ) Anzahl der Downloads: 43


Gruss


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Tue. 6. May 2008, 08:21
Beitrag #2


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



ZITAT(feniweb @ Mon. 5. May 2008, 12:22) *
1. Vor kurzem habe ich mal Dateien über FTP auf einen local PC geladen. Dabei ist mir aufgefallen das unter dem Pfad /cms/files/tmp/captcha/
mehrere 1000 Dateien gefunden. blink.gif Nun meine Frage: werden diese Dateien nicht nach einer gewissen zeit automatisch gelöscht?



Hatte das Problem auch mal. Da war allerdings ein SPAM Bot drauf und ich hatte ca. 1000 Captchas pro Minute. Das hat meinen Server "leicht" in die Knie gezwungen und mich maßnahmen treffen lassen wink.gif

Seitdem nutze ich auch das Captcha nicht mehr. Sollte das aber tatsächlich so sein (ich dachte der Code löscht die Bilder nach einer STunde selbst) ist das ein böser Fallstrick!


--------------------
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Tue. 6. May 2008, 10:28
Beitrag #3


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Die Captchagrafiken werden nach einen gewissen Zeitraum automatisch gelöscht. Ich meine, das wären 7 Minuten.
Bearbeitungsgrund: Ein Captcha wird alle 7 Minuten gelöscht und nicht, wie irrtümlich angenommen alle 12 Stunden.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Tue. 6. May 2008, 10:30
Beitrag #4


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



Dann solltest du dir mal gedanken darüber machen ob da vielleicht auch ein Spambot das Formular massenweise aufruft! unsure.gif


--------------------
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Tue. 6. May 2008, 10:55
Beitrag #5


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Ich hab jetzt mal nachgeschaut. Die Captchagrafiken verlieren nach 7 Minuten ihr Gültigkeit und werden dann gelöscht. Bis jetzt hatte ich damit noch nie Probleme. Schau bitte unter projektXX/cms/inc/capimg.php . Dort kannst Du in Zeile 12 in der Variable '$captcha_expires_after' den Wert in Sekunden festlegen. Nach jedem Aufruf des Captchas sollten abgelaufene Bilder verschwunden sein.

Wenn also ein SPAMbot innerhalb von 7 Minuten 1000 mal die Seite aufruft hast Du dann echt ein Problem, denke aber nicht, das das Kontaktformular darauf reagieren kann, eher die Firewall des Providers.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Tue. 6. May 2008, 10:58
Beitrag #6


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



Bei mir ist halt einfach der Server ob der Last von über 1000 Bildberechnungen pro Minute abgeraucht wink.gif und das scheinbar immer nach ein zwei Minuten. Hinterher hatte ich über 10 GB Catpchas nach einem Wochenende!


--------------------
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Tue. 6. May 2008, 11:13
Beitrag #7


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Frage ist, wie kommt das zustande? Dateien, die im Captchaverzeichnis liegen und älter als 7 Minuten sind, werden gelöscht. Berechnet wird das auf Basis des Erstellungszeitpunktes einer Datei.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Tue. 6. May 2008, 12:19
Beitrag #8


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



Kein Plan. Hab wie gesagt dann den Bot ausgesperrt und mittelfristig das Kontaktformular ganz rausgeworfen...


--------------------
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Tue. 6. May 2008, 17:27
Beitrag #9


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



Hallo saschapi + björn

Danke für die Infos. Also was ich nun auf diversen Hostings wo ich den Captcher einsetze feststellte, werden die Dateien zwar gelöscht aber nicht nach 7 Minuten (420), weil es existieren jeweils noch welche vom Vortag. Aus welchem Zeitraum die 1000de Dateien wahren weis ich nicht mehr habe ich natürlich alle gelöscht, werde das nur aber öfters überwachen.

Zu meinem 2. Problem mit der Darstellung
könnt Ihr mir da was raten? Saschapi wie hast du das damals gelöst?

Gruss


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
STam
Beitrag Tue. 6. May 2008, 21:58
Beitrag #10


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



Hi,
@feniweb,
das könnte ein Problem mit dem Font oder sogar mit einer nicht korrekt
installierten Freetype oder Gd library auf dem System zusammenhängen.
Letztlich wird zwar in der '/backen/inc/class.captcha.php' die Freetypelib 1 angesprochen
aber nicht getestet ob sie da ist bzw vieleicht Version 2 eingebunden ist!
ZITAT
freetypelib = 1 imageTTFBbox() und imageTTFtext()
freetypelib = 2 imageFTBbox() und imageFTText()



Zu den nicht gelöschten Dateien:
schon hier habe ich darauf hingewiesen das das nicht unbedingt klappt.
In dem Zusammenhang wurde mein Einwand aber gleich abgewürgt.

Grundsätzlich ist die Idee ja schön nur ist es schwach umgesetzt.
QUELLTEXT
// clean up
$tmp_dir = dir( $tmp_dir_path );
while( $entry = $tmp_dir->read()) {
  if ( is_file( $tmp_dir_path . $entry ) ) {
    if ( mktime() - filemtime( $tmp_dir_path . $entry ) > $captcha_expires_after ) {
      unlink( $tmp_dir_path . $entry );
    }
  }
}

Der verwendete Code ist nicht unbedingt sicher und eher Pseudocode.
Auf verschiedenen Systemen habe ich festgestellt das ein while( $entry = $tmp_dir->read()) {}
eben nicht immer alle Dateien ausgibt bzw nachfolgend diese Dateien nicht exclusiv geöffnet
und dann gelöscht werden können. Auch das unlink() ist nicht die beste Wahl da auch
dort System- und Konfigurationsabhängig eventuell nicht die nötigen Rechte für unlink()
vorhanden sind oder der Befehl Systemspezifisch gar nicht richtig ausgeführt wird.
Auch fehlt es hier an einer Erfolgskontrolle des Löschvorgangs selbst und ein close()!

In der Datei '/backend/inc/fnc.library.php' gibt es schon länger eine Methode (lib_delete_file()) zum sicheren löschen von Dateien.

Lg
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Wed. 7. May 2008, 08:18
Beitrag #11


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



Hai STam

erstmal herzlichen dank.
ZITAT
das könnte ein Problem mit dem Font oder sogar mit einer nicht korrekt
installierten Freetype oder Gd library auf dem System zusammenhängen.
Letztlich wird zwar in der '/backen/inc/class.captcha.php' die Freetypelib 1 angesprochen
aber nicht getestet ob sie da ist bzw vieleicht Version 2 eingebunden ist!
ZITAT
freetypelib = 1 imageTTFBbox() und imageTTFtext()
freetypelib = 2 imageFTBbox() und imageFTText()


Die Datei class.captcha.php habe ich zwar nicht unter dem erwähnten Pfad gefunden, sondern unter backend/external/misc/
Unter PHP 5.2.2 funktioniert Captcher einwandfrei (FreeType Version 2.3.5)
Unter PHP 4.3.4 nicht.
In der phpinfo() fand ich keinen freetypelib Eintrag.
Kann, oder müsste der Provider irgend welche Einstellungen ändern oder kann man in SF etwas anpassen und wenn ja, wo und was?

Gruss

Edit: scheinbar werden unter PHP5.2 die 7Min Löschzeit eingehalten aber unter PHP4.3 nicht?


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Thu. 8. May 2008, 09:44
Beitrag #12


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Thema Dateien löschen:

Nur an der PHP Version hängt das sicher nicht. Welchen chmod hat den eine CaptchagrafikDatei unter Deiner PHP 4.3 Installation?


Die Idee con stam hört sich ganz brauchbar an. Tausch den cleanup Code in projektXX/cms/inc/capimg.php mal gegen folgenden aus und schau, ob es funktioniert:

QUELLTEXT
// clean up
$tmp_dir = dir( $tmp_dir_path );
while( $entry = $tmp_dir->read()) {
  if ( is_file( $tmp_dir_path . $entry ) ) {
    if ( mktime() - filemtime( $tmp_dir_path . $entry ) > $captcha_expires_after ) {
      unlink( $tmp_dir_path . $entry );
      if (@file_exists($tmp_dir_path . $entry)) {
            clearstatcache();
            $filesys = eregi_replace("/", "\\", $tmp_dir_path . $entry);
            $delete = @system("del $tmp_dir_path . $entry");
            if (@file_exists($tmp_dir_path . $entry)) {
                clearstatcache();
                $delete = @chmod ($tmp_dir_path . $entry, 0777);
                $delete = @unlink($tmp_dir_path . $entry);
                $delete = @system("del $tmp_dir_path . $entry");
            }
        }
    }
  }
}


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Thu. 8. May 2008, 10:08
Beitrag #13


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



Danke björn

Werde das die nächsten Tage testen. Bin im Moment jedoch mächtig unter Druck mit bestimmtem Festaktivitäten tongue.gif

Gruss


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Thu. 8. May 2008, 10:21
Beitrag #14


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Dann lass von Dir hören, wenn das die Lösung ist, sollte das in das System.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Mon. 19. May 2008, 09:18
Beitrag #15


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



so björn
Habe deinen Codeschnippsel eingebaut und das nun einige Tage beobachtet.

Fazit:
Weiterhin bleiben Daten im Ordner cms/files/tmp/captcha/ über mehrere Tage erhalten also der letzten 2-3 Tage, ist unterschiedlich.
captcha/ hat chmod 755
Wenn ich dann das Formular aktiv ausfülle und absende, dann werden alle Dateien bis 7Min vor dem absenden gelöscht.
Positiv ist das die Dateien jeweils nicht älter als 2-3 Tage sind. Somit hält sich das Datenvolumen in Grenzen, bis jetzt hatte keine Situation mehr mit mehreren 1000 Dateien.

Was ärgerlich ist unter PHP4.3.11 das die Zeichen so aussehen.
Angehängte Datei  Zuschneiden_84.jpg ( 4.13KB ) Anzahl der Downloads: 5

Wenn ich auf PHP5 umschalte werden sie korrekt dargestellt.


Gruss




--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Mon. 19. May 2008, 10:09
Beitrag #16


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



Kannst Du mir mal ftp Access auf den Ordner geben? Die Löschroutine würde ich mir gerne noch einmal anschauen.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 26.4.24 - 10:09

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.