mi-schi.com

22. März 2008

Kontaktformular mit benutzerfreundlichen Spamschutz und Spam-Sicherheit

Abgelegt unter: Webdesign — Tags:, , — admin @ 17:14

Da ich leider immer wieder unsichere, schlechte Vorlagen für Kontaktformulare im Internet finde, veröffentliche ich hier das Kontaktformular meines Content Management Systems.

Funktionsumfang

  1. Script ist mit der UTF-8 Kodierung kodiert
  2. Script funktioniert bei allen Server-Konfigurationen (magic_quotes_gpc)
  3. einfache Überprüfung der E-Mailadresse
  4. E-Mail Spamschleuder Schutz
  5. benutzerfreundlicher, barrierefreier Spamschutz
  6. verhindert doppeltes Abschicken der E-Mail hintereinander.
  7. Felder werden untersucht, ob Text eingetragen wurde
  8. Sicherung der eingegebenen Werte bei falscher Eingabe eines Feldes

Umsetzung im Script

  1. Da mein komplettes Content Management System in UTF-8 Kodiert ist, habe ich natürlich auch das Kontakt-Script in UTF-8 kodiert. Da die meisten E-Mailaccounts UTF-8 aber noch nicht richtig unterstützen, musste ich mit utf8_decode() die Eingaben in ISO-8859-1 dekodieren und so abschicken.
  2. Manche Server sind so eingestellt, dass sie automatisch bei Anführungszeichen und Backslashs ein Backslash davor schreiben. Diese Server-Einstellung wird mit der Funktion quotes() untersucht und ggf. die überflüssigen Backslashs wieder entfernt.
  3. Die angegebene E-Mailadresse wird auf das Vorhandensein des @-Zeichens und des Punktes (.) untersucht. Es gibt noch weitaus intensivere Untersuchungen bei der E-Mailadresse. Diese verwende ich allerdings nicht, weil meistens ganze E-Mailblöcke (z.B. bestimmte Endung) nicht zugelassen werden. strstr($_POST['email'], “@”) && strstr($_POST['email'], “.”)
  4. Dieser Schutz wird fast immer vergessen, ist aber extrem wichtig. Denn wenn dieser Schutz nicht vorhanden ist, kann das Formular als Spamschleuder (Massen-E-Mails) genutzt werden und der Verantwortliche ist der Script-Benutzer, also der Webmaster des Accounts! Der Code für den Spamschleuder-Schutz: $emailsicherheit = preg_split("/[\s,]/”, quotes($_POST['email']));. Wie man die E-Mailadresse manipulieren kann erkläre ich nicht, aus Rücksicht auf Webmaster, die diesen Schutz nicht haben.
  5. Bei dem Kontaktformular gibt es kein nerviges Captcha-Bild. Es wird die Zeitspanne zwischen dem Aufrufen der Seite und dem Abschicken untersucht. Das reicht schon aus, um die meisten Spambots fern zu halten.
  6. Über die Methode die Zeit zu messen wird auch das versehentliche doppelte Abschicken des Formulars verhindert. Weiterhin werden die Eingabefelder nach dem Verschicken der E-Mail gelöscht.
  7. Standard bei fast allen Kontaktformularen ist die Überprüfung, ob überhaupt Text in den Eingabefeldern steht.
  8. Wenn man etwas vergessen hat einzugeben und abschickt, sind bei schlecht geschriebenen Kontaktformularen die Eingaben weg. Bei diesem Kontaktformular nicht: <?php if (isset($_POST['name']) && empty($gesendet)) { echo quotes(htmlentities($_POST['name'], ENT_QUOTES, “UTF-8″)); } ?>
Das Script anschauen: sicheres Kontaktformular

12. Februar 2008

Bild in Tabelle, Pixel für Pixel ausgeben, Kopierschutz

Abgelegt unter: Webdesign — Tags:, , — admin @ 17:56

Einen wirklich sicheren Kopier-Schutz für Bilder gibt es im Internet nicht. Ich veröffentliche hier aber mal einen PHP-Code, mit dem man ein Bild einlesen und in einer Tabelle Pixel für Pixel wieder ausgeben kann. Dadurch können mögliche Raub-Kopierer das Bild nicht einfach mit der linken Maustaste auf ihrem Computer speichern. Es gibt aber noch weitere Methoden, die ich hier nicht beschreibe, mit denen man trotzdem Bilder auf dem eigenen Computer speichern kann.

<?php
$bild
= imagecreatefromjpeg(“../back/images/logo.jpg”);
$bildbreite = imagesx($bild);
$bildhoehe = imagesy($bild);
echo
‘<table border=”0″ cellpadding=”0″ cellspacing=”0″ summary=”Bildlogo”>’ . “n”;
for(
$i = 0; $i < $bildhoehe; $i++) {
echo
‘<tr>’;
for (
$o = 0; $o < $bildbreite; $o++) {
$rgb = imagecolorat($bild, $o, $i);
$rgbwert = imagecolorsforindex($bild, $rgb);
echo
‘ <td style=”background-color:rgb(’;
echo
$rgbwert['red'] . ‘,’ . $rgbwert['green'] . ‘,’ . $rgbwert['blue'] . ‘);’;
echo
‘ height:1px; width:1px;”>’;
echo
‘</td>’;
}
echo
“</tr>n”;
}
echo
‘</table>’;
?>

Das Beispielbild, oder besser gesagt die Tabelle lädt im Gegensatz zum Bild viel länger. Ältere Computer könnten sogar durch die hohe CPU-Belastung abstürzten. Die PHP-Datei mit der Tabelle ist mehr als 1,5 MB groß, das Bild selber unter 7 KB! Dadurch warten Modem-Benutzer ewig.

17. November 2007

versteckte Weiterleitung mit mod_rewrite (URL hiding)

Abgelegt unter: Webdesign — Tags:, — admin @ 18:07

Ich habe jetzt endlich mal gefunden, wie man mit mod_rewrite eine wirklich sehr einfache und versteckte Weiterleitung erstellen kann. So eine Weiterleitung nennt man auch URL hiding, also die richtige Internetadresse “verheimlichen”.
In die .htaccess-Datei muss man einfügen:

RewriteEngine on
RewriteRule (.*) http://www.mi-schi.com/$1 [P,L]

Die unsichtbare Weiterleitung funktioniert aber nur, wenn die Apache Module mod_rewrite und mod_proxy(_http) aktiviert sind.
Das “P” in den eckigen Klammern [..] hinter der Bedingung ist entscheidend. Eine kurze Definition (von Selfhtml):

Diese Option sorgt dafür, dass ein Zugriff von dem Apache-Modul mod_proxy aus auf die URL erfolgt. Dazu muss mod_proxy aktiviert und die URL muss valide sein (sie muss unter anderem auf jeden Fall mit http://hostname beginnen).

Weiterführende Links:

9. September 2007

Wann lohnt es sich ein neues, eigenes Forum zu eröffnen?

Abgelegt unter: Webdesign — Tags:, — admin @ 18:16

Diese Frage möchte ich hier versuchen zu beantworten.
Grundsätzlich kann man sagen:

Alle Probleme und Fragen in fast jedem Bereich wurden in irgendeinem Forum im Internet schon einmal erfolgreich geklärt.

Ganz so ist es natürlich nicht. Es gibt auch Themen, die noch nicht weiter angetastet wurden.
Man sollte also erstmal im Internet nach dem Thema suchen, welches man ins Auge gefasst hat. Wenn es schon sehr viele, gut laufende Foren mit dem selben Thema gibt, ist der Einstieg umso schwieriger.
Gibt es aber wenige Foren zu diesem Thema, hat man bessere Chancen später ein erfolgreiches Forum mit vielen aktiven Mitgliedern zu führen.
Als nächstes muss man sich fragen, ob es überhaupt ein Publikum für dieses Thema gibt. Denn ohne Publikum gibt es keine Mitglieder und darum auch keine Beiträge.
Dann ist es immer besser, eine prägnante TLD zu mieten. Damit wird man bei Suchmaschinen besser gefunden und Interessenten können sich die Internetadresse besser merken. Zum Schluss sollte man noch Werbung für das eigene Forum machen, damit die Mitgliederzahl steigt.

19. August 2007

Suchmaschinenoptimierung, Tipps in deutsch

Abgelegt unter: Webdesign — Tags:, , — admin @ 18:19
  • Biete gute Inhalte an, die aktueller und ausführlicher sind, als auf Konkurrenzseiten. Deine Website sollte einzigartig und wichtig für andere Besucher sein! Dadurch wird deine Seite auch mehr besucht und erscheint auf den vorderen Plätzen der Suchmaschinen. Achte darauf, dass deine Seite nicht ausschließlich nur Informationen enthält, die bereits an anderer Stelle im Internet zu finden sind.
  • Verzichte möglichst auf Frames (Begründung steht hier). Auch ein intensiver Einsatz von Flash und Java Script ist nicht unbedingt gut, da Suchmaschinen möglicherweise den Inhalt nicht auslesen können. Ebenfalls sind Weiterleitungen im head-Bereich nicht zu empfehlen (<meta http-equiv=”refresh” content=”…”>).
  • Achte darauf, dass wenige Rechtschreibfehler auf deinen Seiten sind.
  • Der HTML-Code sollte valide sein. Validiere deinen HTML-Code z.B. mit validator.w3.org. Wenn du mit Stylesheet arbeitest, kannst du dein Stylesheet auf dieser Seite, jigsaw.w3.org, validieren. Ein externes Stylesheet ist von Vorteil für deinen Erfolg bei Suchmaschinen. Es stehen weniger Codes für das Design auf deiner Seite und mehr Inhalte. Die Suchmaschinen interessieren sich logischerweise nur für die Inhalte.
  • Verlinke deine Seite mit anderen Internetseiten, die zu deinem Thema passen. Lass deine Seite aber auch mit anderen themenbezogenen Seiten verlinken (z. B. Linkaustausch).
  • Versehe jede Seite mit individuellen Meta-Angaben, die für Suchmaschinen auch nicht ohne Bedeutung sind
    (<meta name=”description” content=”…” />, <meta name=”robots” content=”index,follow” />).
  • Achte darauf, dass die Beschreibungen und Aufzählungen der Stichwörter im head-Bereich nicht zu lang sind. Liste wichtige Stichwörter an erster Stelle auf.
  • Versehe jede Seite mit einem aussagekräftigen Titel.
  • Besorge dir einen guten, aber auch kurzen Domain-Namen für deine Internetseite.
    Verwende eine passende Topleveldomain.
  • Melde deine Website bei bedeutenden Suchmaschinen (z. B. Google: Link zum eintragen) an.
  • Werte Statistiken aus. Interessant ist besonders, woher deine Besucher kommen, über welche Seiten sie auf deine Homepage einsteigen, welche Seiten sie betrachten und über welche Keywords bzw. Suchphrasen die Besucher auf deine Seite gelangen.
  • Mache deine Domain publik. Sei aber nicht marktschreierisch. Hänge z. B. deinen Domain-Namen mit an deine E-Mails. Erzähle Freunden über deine neue Domain. Schreibe immer mal in ein Forum. Wenn möglich in ein Forum, welches ungefähr das gleiche Thema wie deine Internetseite hat. Du kannst dann deinen Domain-Namen im Anhang der Beiträge hineinschreiben.
  • Erstelle eine Sitemap-Seite zu deiner Homepage. Die Suchmaschinen haben dadurch einen besseren Überblick, welche Seiten du anbietest.
  • Versuche nicht, die Suchmaschinen zu täuschen! Unterlasse Cross-Linking, Cloaking und andere Tricks (z. B. versteckte oder unsichtbare Texte), um das Ranking zu manipulieren. Dadurch kann man bei Suchmaschinen ganz ausgeschlossen werden.
  • Habe Geduld! Es kann etliche Wochen oder gar Monate dauern, bis deine Internetseite auf einer Top10-Position ist und unter den Begriffen gefunden wird, die dir wichtig sind. Wenn du neue Inhalte erstellst, dauert es auch einige Tage/Wochen bis die Seite z.B. bei Google aktualisiert wird.
  • Die Suchmaschinen durchsuchen den Inhalt der Internetseiten. Der Inhalt hat ein viel höheres Gewicht, als die Meta-Tags. Das bedeutet, dass Schriftgrafiken oder Java Scripte nicht Suchmaschinen-freundlich sind. Das bedeutet aber auch, dass man genau überlegen sollte, welche Wörter man auf der jeweiligen Seite oft verwendet. Je öfter ein Wort auf einer Seite steht, umso mehr wird es bei den Suchmaschinen gewichtet und umso höher ist das Ranking bei der Eingabe dieses Wortes in Suchmaschinen.
  • Es gibt noch eine weitere Regel. Ein Backlink ist auf seine eigene Seite (die einen PageRank von 0 hat) verlinkt. Die Seite, auf der der Backlink ist, hat z.B. einen PageRank von 4. Dann ist es wahrscheinlich, dass man nach dem nächten PageRank-Update einen PageRank von 3 bekommt. Also immer einen PageRank-Wert weniger.

Powered by WordPress ( WordPress Deutschland )