#-- solving @define("CAPTCHA_FUZZY", 0.65); // easier solving: accept 1 or 2 misguessed letters @define("CAPTCHA_TRIES", 5); // maximum failures for solving the captcha @define("CAPTCHA_AJAX_TRIES", 25); // AJAX testing limit (prevents brute-force cracking via check API) @define("CAPTCHA_MAXPASSES", 2); // 2 passes prevent user annoyment with caching/reload failures @define("CAPTCHA_TIMEOUT", 5000); // (in seconds/2) = 3:00 hours to solve a displayed captcha @define("CAPTCHA_MIN_CHARS", 5); // how many letters to use @define("CAPTCHA_MAX_CHARS", 7); #-- operation @define("CAPTCHA_TEMP_DIR", easy_captcha_utility::tmp() . "/captcha/"); // storage directory for captcha handles @define("CAPTCHA_PARAM_ID", "__ec_i"); @define("CAPTCHA_PARAM_INPUT", "__ec_s"); @define("CAPTCHA_BGCOLOR", 0xffffff); // initial background color (non-inverse, white) @define("CAPTCHA_SALT", ",e?c:7<"); #define("CAPTCHA_DATA_URLS", 0); // RFC2397-URLs exclude MSIE users @define("CAPTCHA_FONT_DIR", dirname(__FILE__)); @define("CAPTCHA_BASE_URL", (empty($_SERVER['HTTPS']) ? "http" : "https") . "://{$_SERVER['SERVER_NAME']}:{$_SERVER['SERVER_PORT']}/" . substr(realpath(__FILE__), strlen(realpath($_SERVER["DOCUMENT_ROOT"])))); #-- texts @define("CAPTCHA_PROMPT_TEXT", 'please enter the letters you recognize in the CAPTCHA image to the left'); @define("CAPTCHA_WHATIS_TEXT", 'What is %s = '); @define("CAPTCHA_REDRAW_TEXT", 'click on image to redraw'); /* simple API */ class captcha