Archiv für die Kategorie 'Tips und Tricks'

16
Okt

Formulare einfach gegen SPAM schützen

Als Entwickler und Betreiber eines Gästebuches, ist es meistens nur eine frage der Zeit bis der erste SPAM eintrudelt. Die wohl gängigste Lösung ist das Einbinden eines Captchas. Doch auch diese für den Gast nicht immer angenehmen SPAM-Blocker, werden oft durch Texterkennungsprogramme geknackt. Da dies auch auf der Peacemountain Seite schon öfters der Fall gewesen ist, habe ich einmal etwas neues ausprobiert. Die Idee ist recht simpel und funktioniert bisher ziemlich zuverlässig.

Im Formular wird einfach ein zusätzliches, verstecktes Feld eingebunden und das Formular wir über eine JavaScript-Funktion gesendet:


<form id="guestbook" method="post">
  <input type="hidden" name="spam" value="yes"/>
  <input type="submit" value="Speichern" onClick="send();"/>
</form>

Die Funktion zum Senden ist sehr einfach gestrickt:


function send() {
  eval("document.forms['guestbook'].elements['spam'].value='no'");
  return true;
}

Jetzt muss lediglich serverseitig der Parameter spam geprüft werden, ob dieser immer noch den Wert “yes” enthält.

Da die meisten SPAM-Schleudern wohl zwar einen hochentwickelten Textscanner eingebaut haben aber keine JavaScript-Funktionen ausführen, wird der Parameter vor dem Senden nicht geändert, wie das der Browser machen würde. Einziger Wehmutstropfen bleibt, dass Gäste ohne eigeschaltetes JavaScript im Browser keine Einträge machen können.

11
Sep

Farben in der BASH

Die Bourne Again Shell wird of für kleine Scripts zur Administration eines Server verwendet. Damit die Scripts ein bisschen schöner daherkommen, kann man die Ausgabe etwas farbiger gestallten.

Am einfachsten geht dies, indem man zuerst Variablen für die Farben definiert, dass erleichtern dann später die Verwendung, da ein Name wohl besser merkbar ist als eine Escape Sequenz. Dabei prüfen wir auch gleich noch, ob wir im Terminal sind oder nicht.

if [ $TERM = "xterm" ]; then
  RED="\033[31m"
  GREEN="\033[32m"
  BLUE="\033[34m"
fi

Nun können wir sehr einfach eine Ausgabe einfärben:

echo -e "${RED}Das ist Rot - ${GREEN} Das ist Grün - ${BLUE} - Das ist Blau"

Das -e beim echo sorgt dafür, dass die Farbcodes richtig umgesetzt werden. Am Ende setzten wir die Farben im Terminal wieder zurück:

if [ $TERM = 'xterm' ]; then
  tput sgr0
fi

Das wars auch schon, viel Spass beim Scripten…




März 2010
M D M D F S S
« Jun    
1234567
891011121314
15161718192021
22232425262728
293031  

Werbung


Buttonitis