Gästebuch selbst erstellen

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Sailor

Aktives Mitglied
14 Juli 2017
514
67
28
Aber damit kann ich ohne Mühe das Gästebuch vollspammen
Hmmm... stimmt... hab was eingebaut, um das zu verhindern!
Allerdings geht die größere Spam-Gefahr eher von irgendwelchen Bots aus und gegen die müsste man dann auch Maßnahmen ergreifen. Hab ich hier aber noch nicht gemacht!
 

Sailor

Aktives Mitglied
14 Juli 2017
514
67
28
Für "Vorherige Seite" und "Nächste Seite" würde ich aber kein Formular nehmen, ein Link reicht doch auch.
Ein Link würde die Sache vielleicht komplizierter machen... da müsste ich ja ein GET anhängen... das auswerten und doch die notwendigen Berechnungen machen.... hmmm... vielleicht tut sich das auch gegenseitig nichts.
Und auf der ersten und letzten Seit sollte nur ein Button zu sehen sein.
.. hehe... und ich wollte einen schnellen und leicht nachzubauenden Code produzieren ;)! Jetzt wird das so langsam doch ein (beinahe) vollständiges Gästebuch ;)! ... hmmm... fehlen noch Smileys... BBC Codes... Bilder ;)!
 

Sailor

Aktives Mitglied
14 Juli 2017
514
67
28
Notepad++ auch schon? Ist mein Favorit.
Ja, den habe ich sogar auch bei mir installiert. Den nutze ich aber eher für andere Dinge rund um Dateien... suchen... finden... ersetzen. Der Editor Teil gefällt mir da nicht so gut...
Scriptly, CoffeCup ..und auch PHP Storm (die 30Tage Demo)! Sogar BlueFish unter Linux habe ich mal probiert. Hat mich alles nicht wirklich angesprochen :(! Vielleicht lassen sich beinahe 20 Jahre Phase5 nicht so einfach aus den Hirnwindungen entfernen.
 

Sailor

Aktives Mitglied
14 Juli 2017
514
67
28
$_SESSION['eintraege'] ist das Array, in dem die Einträge gespeichert sind.
Dieses Array wird nur beim erstmaligen Aufruf der Seite aus den gespeicherten Daten eingelesen... und es muss nach dem erfolgreichen Speichern eines Beitrages erneut eingelesen werden.. deswegen nach speichern das 'unset' damit es im nächsten Schritt mit if(unset($_SESSION['eintraege'])) neu geladen wird und aktuell ist.
 

basti1012

Senior HTML'ler
26 November 2017
1.520
166
63
Minden
sebastian1012.bplaced.net
Ich bin gerade dabei eine reload sperre zu erstellen.
Habe das gefunden.
Code:
session_set_cookie_params(10800);
session_start();
Aber ich glaube das ist der falsche ansatz,weil es das schreiben und senden ja nicht verhindert.
Denke das ich vieleicht die ip adresse einfach für 2 Minuten sperre.
Oder habt ihr eine idee die einfacher ist?
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.412
176
63
Da gibt es mehrere Möglichkeiten, wobei eine IP-Sperre eine der schlechteren Varianten ist.

Wenn du ein Affenformular einsetzt und du dich an das EVA-Prinzip hälst, rufst du die Seite einfach per header nach dem Speichern nochmal auf.

Oder du benutzt ein eigenes Script zum Speichern, packst eventuelle Fehlerinfos in die Session und rufst dann per Header die erste Seite wieder auf.
 

Sailor

Aktives Mitglied
14 Juli 2017
514
67
28
Das mit der Reloadsperre geht einfacher.
Schreibe einfach ein zusätzliches <input type="hidden"...> in das Formular, mit dem der Eintrag abgeschickt wird. Als 'Value' gibst dem eine zufälligen, einmaligen wert... sowas wie ...
PHP:
<input type="hidden" name="reload" value="<?php echo uniqid(); ?>">
Würde wohl auch time() gehen..
Als erstes in dem Code, mit dem du den neuen Eintrag anhängst und speicherst, speicherst du dann den übermittelten Wert in einer $_SESSION Variable....
PHP:
$_SESSION['check_reload'] = $_POST['reload'];
Dann brauchst du bei einem neuen Eintrag nur abfragen...
PHP:
if(isset($_POST['name']) and isset($_POST['text']) and $_SESSION['check_reload'] != $_POST['reload'])
Und das Programm erkennt, ob es ein wirklicher neuer Eintrag ist oder ein Reload.

Musst nur daran denken, um Fehler zu vermeiden, muss/sollte die Variable $_SESSION['check_reload'] am Anfang des Codes - oberhalb der if Abfrage initialisieren!

PHP:
if(!isset($_SESSION['check_reload']))   /*Initialisierung der Variablen für Reloadsperre*/
   {$_SESSION['check_reload']="";}
 
Werbung: