cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Forum
Yet Another Bulletin Board

Willkommen, Gast. Bitte Einloggen oder Registrieren.
23. Oktober 2021 um 17:40

Übersicht Übersicht Hilfe Hilfe Suche Suche Mitglieder Mitglieder Einloggen Einloggen Registrieren Registrieren
cgicorner.ch « Secure-Code als Text ohne GD-Modul »


   cgicorner.ch
   Hilfe
   jsGuest

   Secure-Code als Text ohne GD-Modul
« Vorheriges Thema | Nächstes Thema »
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken
   Autor  Thema: Secure-Code als Text ohne GD-Modul  (Gelesen 4803 mal)
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Secure-Code als Text ohne GD-Modul
« am: 05. März 2006 um 23:19 »
Zitieren Zitieren Bearbeiten Bearbeiten

Bezieht sich auf die Anfrage im Gästebuch:
 
Zitat:
Hallo Juerg
Erstmal ein grosses Lob - super Script.
Leider scheidere ich ebenfalls am GD-Modul zur Erzeugung des Validierungscodes. Mein Webserver obliegt leider nicht meiner Hoheit  
Eine etwas 'abgespeckte' Variante (nur eine Zufallszahl) als Validierungscode ist nicht etwa geplant ?
 
Gruss aus dem verschneiten Franken
Bernhard

 
Nein, geplant ist es nicht, aber es ist mit relativ geringem Aufwand machbar. Klar ist: der Code in Textform kann problemlos ausgelesen werden, d.h. automatisierte Einträge sind weiterhin möglich. Inwiefern dies bereits von Spammern missbraucht wird, kann ich nicht genau sagen. Möglich, dass es überhaupt nichts nützt, möglich, dass es den Gästebuch-Spam ebenfalls erheblich reduziert.
 
Wichtig: Vor der Anpassung des Scripts sollte natürlich ein Backup gemacht werden. Ebenfalls ist die Anpassung nach jedem Update auf eine neuere jsGuest-Version wieder durchzuführen.
 
Schritt 1: Validierungscode-Image entfernen
Im Template-File (neuer Eintrag) muss der der Verweis auf das Validierungscode-Image
<img src="<!--CGIURL-->?action=seccode&id=<!--id-->"/>
entfernt und durch
<!--seccode-->
ersetzt werden. Die ID-Zeile
<input type="hidden" name="id" value="<!--id-->"/>
ist weiterhin erforderlich!
 
Schritt 2: ID bei Formular-Anzeige generieren lassen
In der Datei jsguest.cgi muss im Abschnitt "sub newForm" zwischen IF-Abfrage und open-Anweisung der folgende Code 1:1 eingefügt werden:
           if ($DATA{"SC".$serverTime} > 0) {    # ID in Data-File --> verwenden
                  $FORMDATA{"seccode"}=$DATA{"SC".$serverTime};
            } else {   # nicht in Data-File --> generieren und speichern
                  $id=sprintf("%5.5d",int(rand(100000)));
                  $DATA{"SC".$serverTime}=$id;
                  $FORMDATA{"seccode"}=$id;
                  if (&lockFile($CONFIG{"DataFile"})) {
                        &saveDataFile;
                        &unlockFile($CONFIG{"DataFile"});
                  }
            }

 
Schritt 3: Validierungscode aktivieren
Im Adminbereich unter "Gästebuch Einstellungen ändern" muss die Option "Secure-Code (Missbrauchsschutz)" aktiviert werden.
 
Die Scriptanpassung wird offiziell von jsGuest nicht unterstützt. Fragen, Anregungen und Probleme können aber in diesem Forums-Thread veröffentlicht werden. Sofern irgendwie möglic h helfe ich gerne...
 
Gruss
Jürg
« Zuletzt bearbeitet: 21. März 2006 um 19:25 von cgicorner.ch » gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Roger
Gast

E-Mail

Re: Secure-Code als Text ohne GD-Modul
« Antworten #1 am: 29. Mai 2006 um 16:27 »
Zitieren Zitieren Bearbeiten Bearbeiten Löschen Löschen

Hallo
 
Find jsguest absolut top. Nur leider beginnt jetzt die SPAM geschichte  *motz* und mein hoster hat leider das GD bzw. das perl-GD nicht.
 
Scheinbar bin ich aber zu dumm, das ganze nach der Anleitung umzubauen.
 
ich stecke hier fest:
"Schritt 2: ID bei Formular-Anzeige generieren lassen
In der Datei jsguest.cgi muss im Abschnitt "sub newForm" zwischen IF-Abfrage und open-Anweisung der folgende Code 1:1 eingefügt werden"
 
öhm wo genau muss jetzt der code hin ?
 
######################################################################## ###
sub newForm {      # Template für neuen Eintrag
 if (-e $CONFIG{"TemplNew"}) {
  open(TEMPLATE,$CONFIG{"TemplNew"});
  while (<TEMPLATE>) {
.......
 
 
wäre cool wenn Du mir da weiterhelfen könntest.
Hab so ziemlich alles ausprobiert, aber hab dann immer 500 Fehler  
 Embarassed
 
Vielen Dank
 
Gruss
 
Roger
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: Secure-Code als Text ohne GD-Modul
« Antworten #2 am: 29. Mai 2006 um 18:10 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Roger
 
Ich vermute, du hast mit deinen Änderungen die Datei mit MS-DOS Zeilenumbrüchen gespeichert, so dass der internal server error immer kommt, auch wenn du den Text am richtigen Ort eingefügt hättest.
 
Um CGI-Scripts zu editieren benötigst du einen sinnvollen Editor. Notepad stellt ja das Script völlig falsch dar, WordPad kann es zwar öffnen, zerstört aber die Zeilenumbrüche. Ein paar sinnvolle Editoren (auch Freeware) habe ich unter [1] zusammengestellt.
 
Damit du dich aber nicht damit abquälen musst, habe ich unter [2] jsGuest in der modifizierten Version hochgeladen. Du kannst diese Datei also einfach austauschen und hast damit Schritt 2 erledigt.
 
Ich hoffe, dies hilft dir weiter. Bei allfälligen Fragen stehe ich dir gerne zur Verfügung.
 
Gruss
Jürg
 
[1] http://www.cgicorner.ch/cgi-bin/kb/kb.cgi?file=textedit.kb
[2] http://www.cgicorner.ch/files/jsguest-ohnegd.zip
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Roger
Gast

E-Mail

Re: Secure-Code als Text ohne GD-Modul
« Antworten #3 am: 30. Mai 2006 um 08:55 »
Zitieren Zitieren Bearbeiten Bearbeiten Löschen Löschen

Vielen Dank
 
Jetzt klappt's wunderbar  Grin
 
Werd mal deinen Editor auch noch installieren für Zukünftige arbeiten an Script's  
 Wink  
 
Liebe Grüsse
 
Roger
gespeichert
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken

« Vorheriges Thema | Nächstes Thema »

cgicorner.ch » Powered by YaBB 1 Gold - SP3!
YaBB © 2000-2004. All Rights Reserved.