Ich war deshalb viel Spam in mein Briefkasten alltäglich geworden, dass ich mehr Zeit der Löschen es dann ich verbrachte, fügte neuen Inhalt, Stellen beizubehalten hinzu, oder fing neue Stellen (typisches Geschichtenrecht haben kombiniert an). Etwas von Ihren Website-spam ist nicht vermeidbar, oder, es ist vermeidbar, aber an den Kosten der Verwendbarkeit bzw. gute Informationen gefangen im “bad Stoff” ebenso zu werden.

Kein Zweifel, wenn Sie’re ernst ungefähr Gewebeentwicklung Sie’re, der und schafft geht, mit Formen regelmäßig zu wirken aufeinander. Besonders mit dieser neuen Gewebe 2,0 Einstellungen hat jedes…gee wiz, was’s das?

CAPTCHA
CAPTCHA ist die Zahl eine Methode die meisten Leute benutzen, Spam heute zu verhindern. Was ist es?

“A CAPTCHA ist eine Herausforderungserwiderungsprüfung, die auf Computern benutzt wird, zu prüfen, wenn der Verbraucher menschlich ist. Eine gemeinsame Art von CAPTCHA, der auf Websites benutzt ist, erfordert, dass der Besucher die Briefe und die Zahlen von einem verdrehten Bildnis tippt. Diese Methode ist auf der Tatsache basiert, die schwierig für Computer ist, den Text vom Bildnis zu extrahieren, während es sehr leicht für Menschen. ” - captchacreator ist. com

Hier’s ein paar Ressourcen zu Schriftarten, damit Sie’ll jene Zweckmäßigkeit in Ihre eigenen Formen ausführen kann:

Entkommen Sie Daten - Verhindert SQL Einspritzungen
Capcha ist usless, wenn Sie’re Ihre Form verlassend, die ungeschützt ist von Angriff. Erinnern Sie sich, an Postenschnüre mit addslashes () zu filtern, oder mysql_real_escape_string().

Siehe sich auch diese Funktionen für andere ähnliche Art der Kontrollen an, die nützlich sein dürfte:

  • Htmlspecialchars () - Entkommt den Folgenden Charakteren: &,’,”,>,< ...that is the ampersand, single quote, double quote, less than, and greater than symbols.
  • Strip_tags() - Streifen aus allen HTML und PHP kodieren von der gegebenen Schnur.
  • Htmlentities () - Verwandelt ALLE Charaktere zu ihrem HTML Wesen Gegenwert (dies ist ein mehr fängt alle Version von htmlspecialchars).
  • Urlencode () - Codiert die URL, an Schnüren auf einem vorbeizugehen, ERHÄLT Methode. Als ich erwähnt habe, Don’t Gebrauch ERHÄLT mit Formen. Dies ist nützlich, wenn Sie’re an Verbrauchern Eingabevariablen aus anderen Gründen vorbeigehend.

Erinnern Sie sich an, wenn Sie Daten wie dieser Gebrauch eine der oben Funktionen verwandeln, Sie können rückgängig es für Lesbarkeit machen und geben Sie durch Benutzen seiner umgekehrten Funktion aus. Urlencode () zum Beispiel hat urldecode () , seine Handlungen rückgängig zu machen, damit Sie beginnen können, die Schnur zu benutzen, als Sie hätten, bevor das codiert.

Prüfen Sie Bittenmethode
Werfen Sie ein wenn Aussage um Ihren existierenden Formverarbeiter, der prüft, wenn Daten von der globalen Postenvariable kommen. Wenn nicht, dann greift der Verbraucher auf Ihre Form der Weg nicht zu, den Sie entworfen haben, dass es, benutzt zu werden.

  1. <? php
  2. Wenn ( $_DIENER [ ‘REQUEST_METHOD’ ] == ‘POST’ ) {
  3. //Typische Form bearbeitet
  4. } sonst {
  5. Widerhallen Sie“ kann Die Form wie das nicht benutzt werden“;
  6. }
  7. ? >

Ändern Sie dies, wenn Sie ZU ERHALTEN’re Gebrauch das anstatt. Jedoch, ich würde hoch empfiehlt, dass Sie nie jene Methode benutzen, als es unsicherer ist.

Prüfen Sie Bittenquelle
Sie sollten auch prüfen, wenn die Bitte von Ihrem eigenen Diener hervorbringt. Dies ist eine sehr gemeinsame Methode von Formmissbrauch den doesn’t notwendigerweise Mittel Sie’ll empfängt Spam. Wenn Sie’re Diener erhält viele gesprungenen E-Mails zu seiner Standarde-Mail Sie dürfen haben jemanden Ihre Stelle in dieser Weise missbrauchend.

  1. <? php
  2. $Quelle = $_DIENER [ ‘HTTP_HOST’ ] ;
  3. //, Oder wenn Sie nur die Domäne entdecken wollen, die Sie einen regelmäßigen Ausdruck benutzen können, es zu filtern,.
  4. $Quelle = ereg_replace (^(www.)?([^.] ).[^.] $” , \\2" , $_DIENER [ ‘HTTP_HOST’ ] ) ;
  5. Wenn ( $Quelle ! = =robmalon. com “ ) {
  6. Widerhallen Sie“ greifen Sie illegal auf diese Schriftart zu“;
  7. } sonst {
  8. //Typische Form bearbeitet
  9. }
  10. //Der referrer auch sollte sein von Ihrer eigenen Domäne…Likewise,, wenn es keine Verweisung dann der Verbraucher offensichtlich isnt gibt, benutzend Ihre Form richtig (so wir haben prüfen muss darauf angezogen).
  11. //Note: stristr () Suchen für das erste Vorkommen von einer Schnur innerhalb einer anderen Schnur.
  12. Wenn ( stristr ( getenv (HTTP_REFERER “ ) , $Quelle ) ) {
  13. //Typische Form bearbeitet
  14. } sonst {
  15. Widerhallen Sie“ greifen Sie illegal auf diese Schriftart zu“;
  16. }
  17. ? >

Gebrauch Regelmäßige Ausdrücke Für Datengültigkeitserklärung
Ich mag Daten prüfen, preg_match (oder irgendein von den regelmäßigen Ausdrückenfunktionen) zu benutzen. Diese Methode tötet viele Vögel mit einem Stein. Warum getrennte Funktionen schreibt, zu prüfen, wenn eine Schnur leer ist, dann ein anderer, wenn es Zahlen erlaubt, und ein anderer, wenn es Alphacharaktere erlaubt, und ein anderer zu spezifischer Feldlänge, und ein anderer…you sieht den Sinn.

Wenn (! preg_match_match ({5.15}$/”, $nennt)) $Fehler =. “<li Klasse = \”errors\”>Das Namenfeld kann nur Briefe und Zahlen (keine Plätze) enthalten und kann nur bis zu 15 Charaktere lang sein.</li>”;

Im preg_match prüfe ich, dass das Namenfeld nur enthält Alphanumerischzeichenwerte (unempfindlich) verpacken, und muss wenigstens 5 zu 15 Charakteren in Länge sein. Wenn Sie anziehen’t Treffen, das jene Spezifikation sich Text aneignet, ist hinzugefügt zu $Fehler.

Gebrauch “[variable] [dot][equals] [text]” in dieser Mode erlaubt, dass mich eine andauernde Variable die ich behalte’m hinzufügend zu. Ich kann dann prüfen, wenn $Fehler irgendeine Daten enthält, bevor meine Schriftart irgendeine bedeutsamen Fragen macht. Wenn es Fehler gibt, die Sie sie aus durch Widerhallen spucken können, $Fehler und bittet den Verbraucher, sie zu korrigieren. Ich benutze dann CSS, meine Fehler zu gestalten, die Sie mit Klasse = \”errors\”. sehen können

Regelmäßige Ausdrücke haben trotzig eine lernende Kurve auf ihnen aber sie sind eines der besten Werkzeuge, die helfen können, Ihr Leben in verschiedenen Lagen zu vereinfachen. Ich’ll geht in mehr Detail um sie die Straße hinunter aber vorläufig Sie dürfen ein Buch kaufen wollen oder macht einen Google.

Die nicht technische kurze Wiederholung
-Ausführt eine CAPTCHA Schriftart.
-Flucht haut (und andere schlechte Charaktere).
-Kontrolle zu sehen, wenn Daten zu Ihrer Form kommen, die die richtige Methode benutzt.
-Kontrolle zu sehen, wenn die Bitte von Ihrem eigenen Diener hervorbringt.
-Kontrollendaten benutzend einen regelmäßigen Ausdruck.

Dies ist nur die Spitze des Eisbergs, für was ich Ihnen um Spam erzählen kann. Dass warum ich’ve entschieden hat, eine Miniserie davon zu machen. Über dem nächsten Paar Wochen werde ich Sie mehr haben detailliert Wege bringen, die ich Spam behandle. Kommentieren Sie unten oder schicken Sie per E-Mail mich um Ihre eigenen Spam vorbeugende Methoden. Wenn es ein neues oder einmaliges Verfahren ist, das ich ihm in einem zukünftigen Blog aufstellen werde, zusammen mit einer Verbindung die hinter ist zu Ihrem Blog. Schreiben Sie nur in den Bemerkungen unter und schließen Sie Ihre URL im Website-feld mitein.


1 Bemerkung (Bemerkungen) Auf

5 Wege Zu Fangen Und Website-formenspam Zu Verhindern - Trennt 1"
  1. MyAvatars 0.2 Rauben Sie - Beschädigt 5, 2008

    Es ist nur mir eingefallen…setting auf jene, wenn Aussagen mit einem stirbt () Aussage dürfte leichter für eine schnelle und schmutzige Methode sein. Welchen ich’m sicher die meisten von ihnen wenigstens vorläufig einen quickfix nur wollen würden, in zu werfen. Behält dass in Gemüt…Something wie dies:

    Wenn ($_SERVER[ „REQUEST_METHOD“]! = = „POSTEN“) { stirbt (kann ”The Form wie das nicht benutzt werden”); }

    Sie können stellen dass irgendwo am Anfang einer Schriftart, damit es in Kraft treten kann ohne sich um Existieren zu kümmern kodiert zu viel.



Verlassen Sie Eine Bemerkung:

Kommentiert RSS Futter

5 Minus 1 =

Auf Bestellung Thema durch Rob Malon | Befriedigt & Entwurf © 2008 - Rob Malon [Punkt] Com. "));