- πΊπ¦Ukraine AstonVictor
I'm closing it because the issue was created a long time ago without any further steps.
if you still need it then raise a new one.
thanks
Love the ASCII CAPTCHA and have been using it on my personal site for a while. Whilst looking at site analytics I noticed that I was getting keyword assignments from the ASCII art because of high occurrences of "d88p" and "y88b". I am using the "colossal" font which uses these strings frequently. To overcome this problem I added a string randomizer that replaces the '8' character, that is mainly used as a filler in this font, with a random character of roughly equal visual weight and shape.
I have attached a comparison image that show the original font with a randomize version below it. Here's the font specific code I used. It could be modified to work with other fonts. Just thought I would share it.
function randomize_eight($font) {
if (is_array($font) && count($font)) {
foreach ($font as $x => $f) {
if (is_array($f) && count($f)) {
foreach($f as $y => $l) {
$font[$x][$y] = preg_replace_callback('|8|', randomize_digit, $l);
}
}
}
}
return $font;
}
function randomize_digit() {
$source = '@895ESHM';
$max = strlen($source) -1;
return substr($source, rand(0,$max), 1);
}
// $font = randomize_eight(ASCII_art_captcha_font_colossal());
As a by-product this also strengthens the ASCII capture because the fonts are much harder to pattern match.
Closed: outdated
1.0
Code
I'm closing it because the issue was created a long time ago without any further steps.
if you still need it then raise a new one.
thanks