PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Sonstige) - Recaptcha Alternativen gesucht



darkness
18.11.2019, 00:04
Hallo,

ich bin aktuell auch einer von den Leuten die von Recaptcha gefoltert werden und scheinbar bis in die unendlichkeit und noch viel weiter wie bescheuert irgendwas anklicken soll.

Ich erfahre aktuell am eigenen Leibe wie frustriend es ist wenn sich irgendwo eingeloggt werden soll und man kommt nicht am Recaptcha vorbei!

Deswegen such eich aktuell brauchbare Alternativen die auch relativ sicher sind aber lokal laufen. (Bei Szeneprojekten ist sowas ja auch relativ heikel)

Ideen:

- Kreis Klick Captcha (klicke den nicht vollkommen geschlossenen Kreis)
- Mathe Captcha (Einfache Mathe Aufgabe)
- Fragen Captcha

Die haben halt alle gemein das sie relativ simple knackbar sind automatisiert

Oder gar kein Captcha

- zeit messen zwischen seitenaufruf und absenden
- honigpot
- ip block bei x maliger falscheingabe

jemand andere ideen?

lg

steve_s5
18.11.2019, 03:04
Keine Garantie das meine Idee funktioniert ist nur schnell aus dem Kopf.
Anstatt ein Captcha könnte man doch auch 2 Faktor implementieren via SMS oder App?
Oder wie wäre es mit einem Pin-System oder eine Sicherheitsfrage die nur derjenige festlegt?
Persönliche Idee wie Beispiel eine E-Mail-Adresse oder auch andere Dinge wie Geburtsdatum Verifizierung.
Eine andere Möglichkeit wäre vielleicht ein einfaches Wörterspiel oder generell ein Spiel?
Eine ganz 100 % sichere Methode wird es wohl nie geben Fehler oder Schwachstellen können immer auftauchen.

darkness
18.11.2019, 05:38
Da es sich um Szene Seiten handelt würd ich jetzt um SMS gerne einen großen Bogen machen.

Cyberhotte
18.11.2019, 06:54
Einen Captcha selbst machen kannst du doch auch, das ist nicht wirklich aufwändig.
Für php hier mal ein link:

https://www-coding.de/so-gehts-eigenes-captcha-mit-php/

im größen und ganzen geht es ja nur um das prinzip, und wenn du einen 3 mal schutz drauf machst, wirst ziemlich alles ausfiltern können was unerwünscht ist.

es geht auch komplizierter und aufwendiger, aber das auch nervig dann zumeist.

gruß hotte

ffsayk
12.10.2021, 15:00
Index.php:


<form name="form" method="post" action="">
<label><strong>Enter Captcha:</strong></label><br />
<input type="text" name="captcha" />
<p><br />
<img src="captcha.php?rand=<?php echo rand(); ?>" id='captcha_image'>
</p>
<p>Can't read the image?
<a href='javascript: refreshCaptcha();'>click here</a>
to refresh</p>
<input type="submit" name="submit" value="Submit">
</form>

<script>
//Refresh Captcha
function refreshCaptcha(){
var img = document.images['captcha_image'];
img.src = img.src.substring(
0,img.src.lastIndexOf("?")
)+"?rand="+Math.random()*1000;
}
</script>

Index.php Header

<?php
session_start();
$status = '';
if ( isset($_POST['captcha']) && ($_POST['captcha']!="") ){
// Validation: Checking entered captcha code with the generated captcha code
if(strcasecmp($_SESSION['captcha'], $_POST['captcha']) != 0){
// Note: the captcha code is compared case insensitively.
// if you want case sensitive match, check above with strcmp()
$status = "<p style='color:#FFFFFF; font-size:20px'>
<span style='background-color:#FF0000;'>Entered captcha code does not match!
Kindly try again.</span></p>";
}else{
$status = "<p style='color:#FFFFFF; font-size:20px'>
<span style='background-color:#46ab4a;'>Your captcha code is match.</span>
</p>";
}
}
echo $status;
?>

Captcha.php

<?php
session_start();
//You can customize your captcha settings here

$captcha_code = '';
$captcha_image_height = 50;
$captcha_image_width = 130;
$total_characters_on_image = 6;

//The characters that can be used in the CAPTCHA code.
//avoid all confusing characters and numbers (For example: l, 1 and i)
$possible_captcha_letters = 'bcdfghjkmnpqrstvwxyz23456789';
$captcha_font = 'monofont.ttf';

$random_captcha_dots = 50;
$random_captcha_lines = 25;
$captcha_text_color = "0x142864";
$captcha_noise_color = "0x142864";


$count = 0;
while ($count < $total_characters_on_image) {
$captcha_code .= substr(
$possible_captcha_letters,
mt_rand(0, strlen($possible_captcha_letters)-1),
1);
$count++;
}

$captcha_font_size = $captcha_image_height * 0.65;
$captcha_image = @imagecreate(
$captcha_image_width,
$captcha_image_height
);

/* setting the background, text and noise colours here */
$background_color = imagecolorallocate(
$captcha_image,
255,
255,
255
);

$array_text_color = hextorgb($captcha_text_color);
$captcha_text_color = imagecolorallocate(
$captcha_image,
$array_text_color['red'],
$array_text_color['green'],
$array_text_color['blue']
);

$array_noise_color = hextorgb($captcha_noise_color);
$image_noise_color = imagecolorallocate(
$captcha_image,
$array_noise_color['red'],
$array_noise_color['green'],
$array_noise_color['blue']
);

/* Generate random dots in background of the captcha image */
for( $count=0; $count<$random_captcha_dots; $count++ ) {
imagefilledellipse(
$captcha_image,
mt_rand(0,$captcha_image_width),
mt_rand(0,$captcha_image_height),
2,
3,
$image_noise_color
);
}

/* Generate random lines in background of the captcha image */
for( $count=0; $count<$random_captcha_lines; $count++ ) {
imageline(
$captcha_image,
mt_rand(0,$captcha_image_width),
mt_rand(0,$captcha_image_height),
mt_rand(0,$captcha_image_width),
mt_rand(0,$captcha_image_height),
$image_noise_color
);
}

/* Create a text box and add 6 captcha letters code in it */
$text_box = imagettfbbox(
$captcha_font_size,
0,
$captcha_font,
$captcha_code
);
$x = ($captcha_image_width - $text_box[4])/2;
$y = ($captcha_image_height - $text_box[5])/2;
imagettftext(
$captcha_image,
$captcha_font_size,
0,
$x,
$y,
$captcha_text_color,
$captcha_font,
$captcha_code
);

/* Show captcha image in the html page */
// defining the image type to be shown in browser widow
header('Content-Type: image/jpeg');
imagejpeg($captcha_image); //showing the image
imagedestroy($captcha_image); //destroying the image instance
$_SESSION['captcha'] = $captcha_code;

function hextorgb ($hexstring){
$integar = hexdec($hexstring);
return array("red" => 0xFF & ($integar >> 0x10),
"green" => 0xFF & ($integar >> 0x8),
"blue" => 0xFF & $integar);
}
?>

ffsayk
12.10.2021, 15:02
doppelpost, uppsi