Spamschutz in Kontaktform einbauen?

Dieses Thema Spamschutz in Kontaktform einbauen? im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von LanClan, 4. Nov. 2005.

Thema: Spamschutz in Kontaktform einbauen? Hallo! Vielleicht kann mir hier jemand helfen? Ich hab auf meiner Webseite ein sehr einfaches aber für meine Zwecke...

  1. Hallo!
    Vielleicht kann mir hier jemand helfen?
    Ich hab auf meiner Webseite ein sehr einfaches aber für meine Zwecke völlig ausreichendes php Script zum Abarbeiten eines Kontaktformulars integriert. Bis dato hat es seinen Zweck gut erfüllt, aber in letzter Zeit wird es von ein paar Scherzbolden missbraucht d.h. es wird ständig von außerhalb (also nicht direkt von meiner Webseite) aufgerufen. Das möchte ich nun abstellen und ne Abfrage einbauen die sicherstellt, dass das script nur dann ausgeführt werden kann, wenn das Kontaktformular direkt auf der Webseite aufgerufen wird. Es muss doch irgendwie möglich sein z.B. mit Abfrage des Severnamens bzw. dessen IP zu verhindern, dass das script von außerhalb aufgerufen wird. Leider kenn ich mich mit php noch nicht so gut aus und weiß nicht ob ich in dieses Script dementsprechnde Befehle einbauen kann und falls ja welche. Könnt ihr mir hierbei vielleicht helfen?

    Hier das sript:

    Code:
    <?php 
    $my_email = bla@bla.tld; 
    $continue = [url]http://www.blabla.tld/danke.htm;[/url] 
    if ($HTTP_SERVER_VARS['REQUEST_METHOD'] != POST){
    	exit;
    } 
    while(list($key,$value) = each($HTTP_POST_VARS)){
    	if(!(empty($value))){
    		$set=1;
    	}
    	$message = $message . $key: $value\n\n;
    } 
    if($set!==1){
    	header(location: $HTTP_REFERER);
    	exit;
    } 
    $message = $message . ---Mein Mailscript---; 
    $message = stripslashes($message); 
    $subject = Anfrage; 
    $headers = Wrom: NVWWCUFP.....
    ?>
    
    * Code sortiert ;) *
     
  2. Gibt es einen Link zu der Seite ?

    Dein 2. +3. Posting hab ich gelöscht, da sich das ja erledigt hat ;) ;)
     
  3. das würde nichts nützen, da das Script ja auf deinem Server ausgeführt wird, egal von wo es aufgerufen wird.

    Eine Möglichkeit währe, mit einer Session arbeiten und beim Aufruf des Scripts eine bestimmte Session-Variable abfragen. Ist ist diese nicht vorhanden (also ein Fremdaufruf) wird das Script beendet.
    Dazu müsstest du allerdings deine vorhandenen Seiten in *.php umwandeln.
     
  4. Aha, und wie kann ich das bewerkstelligen?

    Das werde ich dieses WE machen.
     
  5. Naja, wenn du so leicht zu überreden bist, soll mir das nur recht sein ;DD
    Oder sollte ich dir evtl. noch mitteilen, dass du dann ALLE Links in deiner Seite von *.htm auf *.php abändern musst ;)

    OK Session, im Prinzip ganz einfach.

    Auf jeder Seite setzt du ganz am Anfang ( noch VOR <html> ) einen PHP-Einzeiler:
    Code:
    <?php session_start(); ?>
    <html>
    <head>
    ......
    
    Bei den Seiten, die du als Einstiegsseite gelten lassen möchtest, d.h. die Seiten, die direkt aufgerufen werden dürfen (also nicht im Kontaktformular), definierst du noch eine Variable, z.B.
    Code:
    <?php session_start(); $_SESION[valid] = true; ?>
    <html>
    <head>
    ......
    
    Im Kontaktformular wird dann diese Variable wieder abgefragt. Ist sie nicht gesetzt, wurde das Formular direkt aufgerufen, und das willst du ja nicht.

    Code:
    <?php
    session_start();
    if($_SESSION[valid] != 1) die(Direktaufruf des Formulars nicht möglich!!);
    
    $my_email = bla@bla.tld;
    $continue = [url]http://www.blabla.tld/danke.htm;[/url]
    ......
    ......
    ?>
    
    Möchtest du das deine Seite ausschließlich über die Startseite betreten wird, brauchst du die Variable auch nur auf dieser zu definieren, diese wird dann autom. in der Session von Seite zu Seite weitergereicht.

    Siehe auch => http://de2.php.net/manual/de/function.session-start.php

    Is doch einfach, oder ;) ;D
     
  6. Immer wenns um Spamschutz oder Sicherheit geht bin ich (vorausgesetzt es bringt auch was) relativ leicht zu überreden.  :)
    Das sollte mit dem richtigen Editor kein wirkliches Problem darstellen. In Dreamweaver zB gehts recht flott  8)
    Klar, wenn man weiß wie`s geht *g*.
    SUPER!! Ich hätte nicht damit gerechnet, gleich so ne tolle Anleitung zu bekommen. Den Link werd ich mir dieses WE auch gleich zu Gemüte führen. Schließlich will man ja auch was lernen.  ;)

    Danke nochmals!!!
     
Die Seite wird geladen...

Spamschutz in Kontaktform einbauen? - Ähnliche Themen

Forum Datum
AOL & neuer Spamschutz Sonstiges rund ums Internet 14. Feb. 2005
Outlook Kontaktformular nach Kontaktsuche Windows XP Forum 23. Apr. 2012
Nachrichten vom Kontaktformular werden in Nur Text angezeigt und nicht in HTML. Windows XP Forum 17. Aug. 2009
Kontaktformular gegen Robot-Angriffe sichern Webentwicklung, Hosting & Programmierung 23. Aug. 2008
Kontaktformular auf der Homepage? Webentwicklung, Hosting & Programmierung 11. Dez. 2007