无法在PHP中更改验证码的大小

时间:2010-01-16 18:33:29

标签: php captcha font-size

我有以下验证码插件。

我尝试更改不同的字体大小但没有一种工作。

有人可以告诉我如何更改字体大小。

提前致谢。

已编辑:Code Here

3 个答案:

答案 0 :(得分:0)

这个验证码是垃圾,这段代码编写得很糟糕。你应该使用reCapthca,这是非常好的,它是免费的。

我有权说这个capthca是垃圾,因为我打破了capthcas: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-2019 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-3573 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-2020 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-3573 (或者至少在2008年我做过:)。

但要真正回答你的问题:在第127行,正在产生挑战的长度。将数字6更改为您想要的任何内容。

    for ($i = 0; $i < 6; $i++)
    {
        $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
    }

答案 1 :(得分:0)

更改此段代码中的字体大小,并为mt_rand的调用输入更高的值。

if ($use_font == FALSE)
{
    //$font_size = 5;
    $font_size = 15;//For example
    $x = rand(2, $img_width/($length/3));
    // y isnt used here
}
else
{
    // Make font proportional to the image size
   // $font_size  = !empty($font_size) ? $font_size : mt_rand(18,25);
      $font_size  = !empty($font_size) ? $font_size : mt_rand(25,29);//For example
    $x = rand(4, $img_width - (($font_size + ($font_size >> 1)) * $length));
    // y isnt used here
}

同时确保$img_width$img_height足够大,以便更大的字体适合图片。

答案 2 :(得分:-1)

你可能想尝试写下:

$defaults = array('word' => '', 'img_path' => '', 'img_url' => '', 'img_width' => '150', 'img_height' => '30', 'font_size' => '', 'font_path' => '', 'show_grid' => true, 'skew' => true, 'expiration' => 7200);

以下一行

$defaults['font_size'] = 0;

(并将0更改为所需的课程大小)