Antworten auf deine Fragen:
Neues Thema erstellen

Captcha - gute oder schlechte Idee?

mephista

Pixelschubserin

Hallo ---
bin grade am grübeln...
Ich möchte mich bei meinem Kontaktformular vor Spams schützen, habe jedoch geteilte Meinungen zum Thema Captcha gelesen...

In dem einen heißt es, dass es das Beste ist, was es gibt *fragwürdig*
In anderen heißt es, für Barrierfreiheit absolut nicht geeignet!

Was haltet ihr davon?
Kennt ihr Alternativen für Spamfreiheit bei Barrierefreiheit?

Bin gespannt :)

Lg Mephista
 

rest5

webbastler

AW: Captcha - gute oder schlechte Idee?

Hallo Mephista,
die unlesbaren grafischen Captchas sind die Pest, auch wenn man nicht sehbehindert ist.
Eine gute Lösung finde ich ein verbales Captcha, z. B.:
"Tragen Sie das Ergebnis von "fünf plus drei" ein" oder "Tragen Sie das vierte Wort dieses Satzes ein".
Damit kann man Maschinen auch ausschliessen.
 
Zuletzt bearbeitet:

MyBad

localhorst

AW: Captcha - gute oder schlechte Idee?

Wirkliche Alternativen zum Captcha kenne ich nicht. Ich habe allerdings mal ein interessantes Plugin für Drupal gesehen.

Da wird das Formular vor dem Absenden auf Spam-Kriterien geprüft. Sollte Kriterien zutreffen wird der Captcha-Code dargestellt und ansonsten wird das Formular einfach gesendet. Fand ich recht interessant. Wie zuverlässig das nun ist, weiß ich nicht. Mir fällt auch leider der Name des Plugins nicht ein...
 

mephista

Pixelschubserin

AW: Captcha - gute oder schlechte Idee?

ich mag die bilder genauso wenig. da sie auch das gesamtbild des layouts irgendwie verunstalten...

die rechencaptchas sind schon ansehnlicher...

aber was ist mit der these, dass sie nichts für barrierefreiheit sind?

kennt sich da jemand aus?

Gruß mephista
 

mephista

Pixelschubserin

Kontaktformular mit Rechencaptcha - php problem

Hallo :)

ich schon wieder...
nach langem grübeln und recherieren habe ich in mein Kontaktformular ein Rechencaptcha eingebaut.

Das Problem ist, die Mail wird so oder so verschickt, ob mit oder ohne Eintragung des Ergebnisses.

Woher weiß ich, ob es nun wirklich funkt?

Ich denke, da muss bestimmt so eine if/ else schleife hinein, oder?
Bin im php noch nicht so gut... *seufz*

Kann mir jemand mal ein Tipp gebeb, was ich wohin schreiben muss, damit es funkt?

Mein Html-Code:
HTML:
<?php 
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
   $char = substr($string, $i, 1);
   $keychar = substr($key, ($i % strlen($key))-1, 1);
   $char = chr(ord($char)+ord($keychar));
   $result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "88cssf871");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}
if ($_POST) {
$vorname = $_POST['name'];
$nachname = $_POST['firma'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];

 # Ihre E-Mail-Adresse
 $an ="meine.email@gmx.at";

 # Diese Nachricht wird an Ihre E-Mail-Adresse gesendet
 $text = "Hallo, Sie haben eine neue Nachricht von Herr/ Frau $name, von der Firma $firma erhalten:\n\n
 ====\n $nachricht\n====\n\nSie können Herr/ Frau $name unter dieser Email $email oder unter Tel: $fon erreichen.";
 @mail($an, $betreff, $text, "From: " . $email);
 echo "<p>Vielen Dank, Herr/ Frau $name, Ihre Nachricht wurde gesendet und in Kürze von mir beantwortet!</p>";
}
else { ?>
  <script type="text/javascript">
function eingaben_ueberpruefen(){
 var mail = document.Formular.email.value;
 if (document.Formular.name.value.length < 3) { // Name mindestens 5 Zeichen
  alert("Sie haben noch keinen Ansprechnamen eingegeben!")
  document.Formular.name.focus();
  return false;
 }

 else if (document.Formular.firma.value.length < 3) { // Firma mindestens 2 Zeichen
  alert("Bitte geben Sie Ihre Firma ein");
  document.Formular.firma.focus();
  return false;
 }

 else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1) {
  alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.")
  document.Formular.email.select();
  return false;
 }

 else if (document.Formular.betreff.value.length < 2) { // Betreff mindestens 2 Zeichen
  alert("Bitte geben Sie einen Betreff ein!")
  document.Formular.betreff.focus();
  return false;
 }

 else if (document.Formular.nachricht.value.length < 5) { // Nachricht mindestens 5 Zeichen
  alert("Bitte geben Sie eine Nachricht ein!")
  document.Formular.nachricht.focus();
  return false;
 }
 else if (document.Formular.fon.value.length < 5) { // Nachricht mindestens 5 Zeichen
  alert("Bitte geben Sie eine gültige Telefonnummer ein!")
  document.Formular.fon.focus();
  return false;
 }
 else
 return true;
}
  </script>
  </p>
  <form name="Formular" method="post" action="<?php echo $_SERVER['']; ?>"
 onsubmit="return eingaben_ueberpruefen();">
    <table border="0" align="center" cellpadding="4" cellspacing="2">
  <tr>
   <td width="118">*Ansprechpartner:</td>
   <td colspan="3"><input type="text" name="name" size="35" maxlength="40"></td>
  </tr>
  <tr>
   <td>*Firma</td>
   <td colspan="3"><input type="text" name="firma" size="35" maxlength="40"></td>
  </tr>
    <tr>
   <td>*Telefon:</td>
   <td colspan="3"><input type="text" name="fon" size="35" maxlength="40" id="fon"></td>
  </tr>
  <tr>
   <td>*E-Mail:</td>
   <td colspan="3"><input type="text" name="email" size="35" maxlength="40"></td>
  </tr>
  <tr>
   <td>*Betreff:</td>
   <td colspan="3"><label>
     <select name="betreff" size="1" id="betreff">
    <option>Anfrage</option>       
<option>Sonstiges</option>
       </select>
   </label></td>
  </tr>
  <tr>
   <td colspan="4">
    <br>
    *Nachricht:<br>
    <br>
    <textarea name="nachricht" cols="45" rows="10"></textarea>   </td>
  </tr>
  <tr>
<td><img src="rechen-captcha.php"></td>
<td width="45"><input type="text" name="sicherheitscode" size="5"></td>
<td width="209">Bitte das Ergebnis eintragen!</td>
  </tr>
  <tr>
    <th colspan="4"><input type="submit" class="fliess" value="Mail absenden"></th>
  </tr>
    </table>
</form>
<?php 
}
?>
vielen lieben dank, die ewigfragende Mephista :D


Hab das mal hier drangehangen, dafür brauchts wirklich kein Extrathema. cebito
 
Zuletzt bearbeitet von einem Moderator:

Duddle

Posting-Frequenz: 14µHz

AW: Captcha - gute oder schlechte Idee?

aber was ist mit der these, dass sie nichts für barrierefreiheit sind?

Das ist doch schnell beantwortet: Alles was eine bestimmte Fähigkeit erfordert ist für denjenigen nicht erreich-/nutzbar, der diese Fähigkeit nicht / nur begrenzt besitzt.

Ein blinder Nutzer kann keine Captchas lösen, die den Sehsinn benötigen. Ein tauber Nutzer kann keine Captchas lösen, die den Hörsinn benötigen. Ein mathematisch unbegabter Nutzer kann keine Captchas lösen, die Integration benötigen. - et cetera


Duddle
 

mephista

Pixelschubserin

AW: Captcha - gute oder schlechte Idee?

hallo cebito,
sorry und danke fürs verschieben!

Ich hoffe, hier gibt es jemand der mir helfen mag!

Falls noch unklarheiten offen sind, schreibe ich es gerne nachträglich hier rein!

Danke an alle und lg Mephista
 

cebito

undefined

AW: Captcha - gute oder schlechte Idee?

Lies dir doch mal den Artikel den ich oben verlinkt hab durch, dann lies nochmal was Duddle geschrieben hat, und dann frag dich, ob du das wirklich brauchst, oder ob du nicht doch lieber Alternativen möchtest, die dem Message-Schreiber nicht zur Last oder gar zum Hindernis werden.
 

TimeePic

Nicht mehr ganz neu hier

AW: Captcha - gute oder schlechte Idee?

Also ich finde es sehr nützlich.
Bei allen Logins oder Signups, verwende ich das reCaptcha, welches frei verwendbar ist und optisch etwa angepasst werden kann.

Ein Captcha wird zwar meist als lässtig und unnötig bezeichnet, aber in solchen Fällen nehme ich es gerne in kauf und schütze mich vor SPAM.
 

M3g4Star

Nicht mehr ganz neu hier

AW: Captcha - gute oder schlechte Idee?

PHP:
// Wenn das Formular abgeschickt wurde 
if ($_POST) {
//******
// Versende die Mail
       mail(****);
//******
}
So schaut dein Quellcode derzeit aus.

PHP:
<?php
// hier vergleichst du den Sessionwert mit de Eingabe und "löscht" die Variable nach positiver Prüfung. 
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}
?>
Und den oberen Quellcode müsstest du jetzt mit diesem Stück in Verbindung bringen.

Gruß M3g4
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.613
Beiträge
1.538.346
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben