mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 15:37 Benutzername: Passwort: Auto-Login

Thema: Spam-Schutz für Formular - Java-Script muss geändert werden vom 10.07.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Spam-Schutz für Formular - Java-Script muss geändert werden
Autor Nachricht
.MacSven
Threadersteller

Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht: Männlich
Verfasst Di 10.07.2007 15:35
Titel

Spam-Schutz für Formular - Java-Script muss geändert werden

Antworten mit Zitat Zum Seitenanfang

Hallo,
ich habe eine bitte: ich versuche schon den ganzen Tag ein fertiges Script meinen Bedürfnissen anzupassen, kriege es aber leider nicht hin. In dem folgenden Script sind folgende Funktionen enthalten: Wenn der einzugebende Code nicht der Zeichenlänge = 5 entspricht, dann kommt die Meldung: "Bitte geben Sie den Code ein". Sobald 5 Zeichen eingebenen sind, wird überprüft, ob diese Zeichen dem Code entsprechen oder nicht und es wird ein entsprechender Text ausgegeben. Auf diesen Text kann ich aber verzichten. Ich möchte einfach, dass sobald die Eingabe nicht dem Code entspricht, die Ausgabe "Bitte geben sie den Code ein" erscheint und man bei einem Klick auf "OK" sein Glück erneut versuchen muss.

Hier der Code:

Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN">
<html>
 <head>
  <title>Spam-Schutz</title>

<script type="text/javascript">
function eingaben_ueberpruefen(){
 if (document.Form.eingabe.value.length != 5){
  alert("Bitte geben Sie den Code ein!");
  document.Form.eingabe.focus();
  return false;
 }
 else
 return true;
}


function RND(){
 Zufall = Math.round(Math.random()*11+1);
 document.Form.code.value=Zufall;
 return Zufall;
}
</script>

 </head>
<body onLoad="document.Form.eingabe.focus();">

<h2>Spam-Schutz</h2>

<?php
// Spam-Schutz
$eingabe = @$_POST["eingabe"];
$eingabe = strtolower($eingabe);
$code = @$_POST["code"];

if(@$_POST["eingabe"] !=""){

 $chluessel[1] = "dsnxn";
 $chluessel[2] = "tepsh";
 $chluessel[3] = "5fwnb";
 $chluessel[4] = "fs7ha";
 $chluessel[5] = "5ress";
 $chluessel[6] = "ywyyw";
 $chluessel[7] = "lcvr7";
 $chluessel[8] = "gskaw";
 $chluessel[9] = "u7twn";
 $chluessel[10] = "4x8uw";
 $chluessel[11] = "wtwem";
 $chluessel[12] = "ehewh";
// Weitere Schlüssel ab hier eingeben!

// Überprüfung
 if ($chluessel[$code] == $eingabe) {
  echo "<font color=blue>Die Eingabe war richtig.</font>";
 }
 else {
  echo "<font color=red>Die Eingabe war falsch!</font>";
 }
}
?>

<form name="Form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)">
<table>
 <tr>
  <td>Wiederholen Sie<br>folgenden Code<br><small>(Dies verhindert SPAM)</small></td>
  <td>
   <input type=hidden name="code">
   <script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script>
  </td>
 </tr>
 <tr>
  <td></td>
  <td><input type=text name="eingabe" style="text-transform: uppercase;"></td>
 <tr>
  <th colspan=2>
    <br>
   <input type=submit> &nbsp; <input type=reset>
  </th>
 </tr>
</table>
</form>

</body>
</html>


Ich könnte mir vorstellen, dass sowas in dieser Art schon reichen würde, nur leider passen die von mir eingefügten PHP-Befehle nicht ins JavaScript (meine Änderung befindet sich in Zeile 8 des Codes):

Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN">
<html>
 <head>
  <title>Spam-Schutz</title>

<script type="text/javascript">
function eingaben_ueberpruefen(){
 if ($chluessel[$code] != $eingabe){
  alert("Bitte geben Sie den Code ein!");
  document.Form.eingabe.focus();
  return false;
 }
 else
 return true;
}


function RND(){
 Zufall = Math.round(Math.random()*11+1);
 document.Form.code.value=Zufall;
 return Zufall;
}
</script>

 </head>
<body onLoad="document.Form.eingabe.focus();">

<h2>Spam-Schutz</h2>

<?php
// Spam-Schutz
$eingabe = @$_POST["eingabe"];
$eingabe = strtolower($eingabe);
$code = @$_POST["code"];

if(@$_POST["eingabe"] !=""){

 $chluessel[1] = "dsnxn";
 $chluessel[2] = "tepsh";
 $chluessel[3] = "5fwnb";
 $chluessel[4] = "fs7ha";
 $chluessel[5] = "5ress";
 $chluessel[6] = "ywyyw";
 $chluessel[7] = "lcvr7";
 $chluessel[8] = "gskaw";
 $chluessel[9] = "u7twn";
 $chluessel[10] = "4x8uw";
 $chluessel[11] = "wtwem";
 $chluessel[12] = "ehewh";
// Weitere Schlüssel ab hier eingeben!

// Überprüfung
 if ($chluessel[$code] == $eingabe) {
  echo "<font color=blue>Die Eingabe war richtig.</font>";
 }
 else {
  echo "<font color=red>Die Eingabe war falsch!</font>";
 }
}
?>

<form name="Form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)">
<table>
 <tr>
  <td>Wiederholen Sie<br>folgenden Code<br><small>(Dies verhindert SPAM)</small></td>
  <td>
   <input type=hidden name="code">
   <script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script>
  </td>
 </tr>
 <tr>
  <td></td>
  <td><input type=text name="eingabe" style="text-transform: uppercase;"></td>
 <tr>
  <th colspan=2>
    <br>
   <input type=submit> &nbsp; <input type=reset>
  </th>
 </tr>
</table>
</form>

</body>
</html>


Würde mich sehr freuen, wenn mir das jemand so anpassen könnte! Vielen Dank schonmal im Vorraus!
Gruß Sven
  View user's profile Private Nachricht senden
Ähnliche Themen Kleines Java-Script für Acrobat Formular
Schutz für Php Script
anti-spam script für gästebuch?
Leere spam mails über Formular
[Server] verstecktes spam script finden?
Probleme mit Java Script
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.