本文整理汇总了PHP中captcha::checkNumber方法的典型用法代码示例。如果您正苦于以下问题:PHP captcha::checkNumber方法的具体用法?PHP captcha::checkNumber怎么用?PHP captcha::checkNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类captcha
的用法示例。
在下文中一共展示了captcha::checkNumber方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: NewPromoCommune
/**
* Предложение на создание нового промо сообщества.
*
* @param array $frm Данные введенные пользователем
*
* @return object xajaxResponse
*/
function NewPromoCommune($frm)
{
global $session;
session_start();
$objResponse = new xajaxResponse();
$errors = array();
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/captcha.php';
$captcha = new captcha();
$rnd = $frm['rndnum'];
if (!$captcha->checkNumber(trim($rnd))) {
$errors[] = 'captcha';
}
if (trim($frm['name']) == '') {
$errors[] = 'name';
}
if (trim($frm['msg']) == '') {
$errors[] = 'msg';
}
$objResponse->script('$("popup_promo_commune").getElements("div[id^=popup_promo_commune_err]").setStyle("display", "none");');
if (count($errors)) {
foreach ($errors as $error) {
$objResponse->script('$("popup_promo_commune_err_' . $error . '").setStyle("display", "block");');
}
} else {
$objResponse->script('$("btn_promo_new").setStyle("display", "none");');
$objResponse->script('$("btn_promo_ok").setStyle("display", "block");');
$objResponse->script('$("popup_promo_commune").setStyle("display", "none");');
$objResponse->script('$("claim-name").set("value","");');
$objResponse->script('$("claim-idea").set("value","");');
$objResponse->script('$("claim-cap").set("value","");');
$sm = new smail();
$sm->NewPromoCommune($frm['name'], $frm['msg']);
}
$objResponse->script('$("captcha").set("src","/image.php?r="+Math.random());');
$objResponse->assign('claim-cap', 'value', '');
return $objResponse;
}
示例2: registration
public function registration($type_wizard = step_wizard_registration::TYPE_WIZARD_EMP)
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/captcha.php";
$action = __paramInit('string', null, 'action');
if ($this->status == step_wizard::STATUS_CONFIRM) {
if ($_SESSION['email'] == 0) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
$user = new users();
$email = $user->GetField(wizard::getUserIDReg(), $error, "email");
$_SESSION['email'] = $email;
}
if ($action == registration::ACTION_SEND_MAIL) {
$send = registration::actionSendMail(false);
if ($send) {
header("Location: /wizard/registration/");
exit;
}
}
}
$type_user = $type_wizard;
if ($action == 'registration' && $this->status == 0) {
$error = array();
if (!$_SESSION["regform_captcha_entered"]) {
session_start();
$captchanum = __paramInit('string', null, 'captchanum');
$num = __paramInit('string', null, 'rndnum');
$_SESSION['w_reg_captcha_num'] = $captchanum;
$captcha = new captcha($captchanum);
if (!$captcha->checkNumber($num)) {
$error['captcha'] = 'Неверный код. Попробуйте еще раз';
unset($_SESSION['w_reg_captcha_num']);
}
}
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/employer.php";
} else {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/freelancer.php";
}
$login = trim(__paramInit('string', null, 'login'));
$email = trim(__paramInit('string', null, 'email'));
$agree = trim(__paramInit('string', null, 'agree'));
$phone = trim(__paramInit('string', null, 'phone'));
$smscode = trim(__paramInit('string', null, 'smscode'));
// пароль берем напрямую из $_POST, а то __paramInit режет спецсимволы (пароль хешируется - SQL инъекция невозможна)
$passwd = $_POST['password'];
if (!$agree) {
$error['agree'] = 'Прочтите и согласитесь с правилами';
}
if ($passwd == '') {
$error['pwd'] = 'Введите пароль';
}
if (!preg_match("/^[a-zA-Z0-9]+[-a-zA-Z0-9_]{2,}\$/", $login)) {
$error['login'] = 'От 3 до 15 символов. Может содержать латинские буквы, цифры, подчёркивание (_) и дефис (-)';
}
if (in_array(strtolower($login), $GLOBALS['disallowUserLogins'])) {
$error['login'] = 'Извините, такой логин использовать нельзя';
}
if (!is_email($email)) {
$error['email'] = 'Поле заполнено некорректно';
}
if ($smscode != $_SESSION["smsCode"]) {
$error['smscode'] = 'Код не совпал';
}
if ($phone != $_SESSION["reg_phone"]) {
$error['phone'] = 'Вы вводили другой номер при запросе кода';
}
$phone = preg_replace("#^\\+#", "", $_SESSION["reg_phone"]);
if (empty($error['login'])) {
$sql = "SELECT uid FROM users WHERE lower(login) = ?";
if ($this->_db->val($sql, strtolower($login))) {
$error['login'] = 'Извините, такой логин уже существует';
}
}
if (empty($error['email']) && empty($error['captcha'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/temp_email.php";
if (temp_email::isTempEmail($email)) {
$error['email'] = 'К сожалению, регистрация аккаунта на указанный адрес электронной почты невозможна. Пожалуйста, для регистрации воспользуйтесь почтовым адресом другого домена';
} else {
$sql = "SELECT uid FROM users WHERE lower(email) = ?";
if ($this->_db->val($sql, strtolower($email))) {
$error['email'] = 'Указанная вами электронная почта уже зарегистрирована. Авторизуйтесь на сайте или укажите другую электронную почту.';
}
}
}
if (count($error) == 0) {
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser = new employer();
} else {
$newuser = new freelancer();
}
$newuser->checked_name = false;
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser->role = 1;
} else {
$newuser->role = 0;
}
$newuser->login = substr($login, 0, 15);
$newuser->email = substr($email, 0, 64);
$newuser->passwd = substr($passwd, 0, 24);
$id = $newuser->Create($rerror, $error);
//.........这里部分代码省略.........
示例3: actionRegistration
/**
* Основной метод регистрации пользователей
* @param bool $is_preset Флаг, показывающий наличие подготовленных данных
* @return type
*/
public function actionRegistration($is_preset = false)
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr_meta.php";
if (!$is_preset) {
$this->setFieldInfo('role', __paramInit('int', null, 'role'));
$this->setFieldInfo('login', trim(__paramInit('string', null, 'login')));
$this->setFieldInfo('email', trim(__paramInit('string', null, 'email')));
$this->setFieldInfo('subscr_news', trim(__paramInit('bool', null, 'subscribe')));
//$this->setFieldInfo('smscode', trim(__paramInit('string', null, 'smscode')));
//$this->setFieldInfo('phone', $_SESSION["reg_phone"]);
// пароль берем напрямую из $_POST, а то __paramInit режет спецсимволы (пароль хешируется - SQL инъекция невозможна)
$this->setFieldInfo('password', stripslashes($_POST['password']));
$this->checkedFields();
session_start();
$this->setFieldInfo('captchanum', __paramInit('string', null, 'captchanum'));
$num = __paramInit('string', null, 'rndnum');
if (!$_SESSION["regform_captcha_entered"]) {
$_SESSION['reg_captcha_num'] = $this->captchanum;
$captcha = new captcha($this->captchanum);
if (!$captcha->checkNumber($num)) {
$this->error['captcha'] = 'Неверный код. Попробуйте еще раз';
$this->is_validate = false;
unset($_SESSION['reg_captcha_num']);
}
}
}
//if ( (is_release() || $_SESSION["reg_phone"] != 71111112222) && sbr_meta::findSafetyPhone($_SESSION["reg_phone"], __paramInit('string', null, 'role') == 2 ? 'emp' : 'frl') ) {
// $this->error['phone'] = 'Пользователь с таким номером уже зарегистрирован';
// $this->is_validate = false;
// unset($_SESSION['reg_captcha_num']);
//}
if ($this->is_validate) {
//unset($_SESSION['smsIsRequested']);
if ($this->role == self::ROLE_FREELANCER) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/freelancer.php";
$newuser = new freelancer();
$newuser->role = 0;
} else {
if ($this->role == self::ROLE_EMPLOYER) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/employer.php";
$newuser = new employer();
$newuser->role = 1;
}
}
$newuser->login = substr($this->login, 0, 15);
$newuser->email = substr($this->email, 0, 64);
$newuser->passwd = substr($this->password, 0, 24);
$newuser->subscr = '1111111' . (int) $this->subscr_news . '11111111';
$newuser->uid = $newuser->Create($rerror, $error);
if ($newuser->uid && !$error) {
$ok = $this->completedRegistration($newuser);
if ($ok) {
//require_once $_SERVER['DOCUMENT_ROOT']."/classes/sms_gate.php";
//$phone = '+' . preg_replace("#^\+#", "", $_SESSION["reg_phone"]);
unset($_SESSION["regform_captcha_entered"]);
unset($_SESSION["login_generated"]);
$tu_ref_uri = @$_SESSION['tu_ref_uri'];
//unset($_SESSION["reg_phone"]);
//unset($_SESSION['send_sms_time']);
//sms_gate::saveSmsInfo($phone, $_SESSION["reg_sms_isnn"], $_SESSION["smsCode"], $_SESION["reg_sms_date_send"], $newuser->uid);
$_SESSION['email'] = $newuser->email;
$_SESSION['rrole'] = $this->role;
// Если пришли сюда регистрироватся то после нажатия кнопки регистрации удаляем куки регистрации иначе после активации нас перекинет на мастер
$wizard = new wizard();
$wizard->clearCookiesById($newuser->role == 1 ? 1 : 2);
// В зависимоти от того кого регистрируем
// На всякий случай при новой регистрации удаляем переменную проверки
self::resetCheckAccess();
$_user_action = isset($_REQUEST['user_action']) && $_REQUEST['user_action'] ? substr(htmlspecialchars($_REQUEST['user_action']), 0, 25) : '';
$_user_action = trim($_user_action);
login($newuser->login, users::hashPasswd(trim(stripslashes($newuser->passwd))), 1, false);
if (is_emp($newuser->role)) {
$_SESSION['reg_role'] = 'Employer';
$ref_uri = isset($_SESSION['ref_uri'], $_SESSION['was_customer_wizard']) ? urldecode($_SESSION['ref_uri']) : null;
unset($_SESSION['was_customer_wizard']);
$redirect_to = $ref_uri ? $ref_uri : '/public/?step=1&kind=1';
//По умолчанию, при регистрации заказчика, перенаправляем его на публикацию проекта
if (strpos($_user_action, 'project_to_')) {
$login = str_replace('add_project_to_', '', $_user_action);
$redirect_to = '/public/?step=1&kind=9&exec=' . $login;
}
$redirect = __paramInit('link', NULL, 'redirect');
if ($redirect && !$ref_uri) {
$redirect_to = urldecode($redirect);
}
} else {
$_SESSION['reg_role'] = 'Freelancer';
$redirect_to = $redirect_to = "/registration/profession.php" . (!empty($user_action) ? "?user_action={$user_action}" : '');
//Очищаем чтобы далее небыло редиректа
//@todo: согласно https://beta.free-lance.ru/mantis/view.php?id=28862
$_user_action = '';
}
switch ($_user_action) {
case 'tu':
if ($tu_ref_uri) {
//.........这里部分代码省略.........
示例4: attachedfiles
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
$attachedfiles = new attachedfiles($attachedfiles_session);
$attachedfiles_info = $attachedfiles->calcFiles();
if ((!$msg || trim($msg) == "") && !(sizeof($files) || $attachedfiles_info['count'])) {
$error_flag = 1;
$alert[2] = "Поле заполнено некорректно";
} elseif ($msg && strlen($msg) > messages::MAX_MSG_LENGTH) {
$error_flag = 1;
$alert[2] = "Вы ввели слишком большое сообщение. Текст сообщения не должен превышать 20 000 символов.";
}
if ($isNeedUseCaptcha) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/captcha.php";
$captchanum = $_POST['captchanum'];
$captcha = new captcha($captchanum);
$rnd = $_POST['rndnum'];
if (!$captcha->checkNumber(trim($rnd))) {
$error_flag = 1;
$alert[4] = "Вы ввели неверную комбинацию символов";
}
}
// если запрошено обновление капчи в PDA
$newCaptcha = $_POST['newcaptcha'];
if ($newCaptcha) {
$alert = array();
}
if ($chat_with != $_SESSION['login'] && !$error_flag) {
list($alert, $error) = messages::Add(get_uid(), $chat_with, $msg, $files, 0, false, $attachedfiles_session);
if (!$error && isNulArray($alert)) {
messages::updateSendLog(get_uid(false));
if ($draft_id) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php";
示例5: RemindByPhoneAndLogin
/**
* напоминание пароля через телефон и логин.
*
* @param $phone
* @param $login
* @param $rnd
* @param $captchanum
*
* @return xajaxResponse
*/
function RemindByPhoneAndLogin($phone, $login, $rnd, $captchanum)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sms_gate_a1.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
session_start();
$objResponse = new xajaxResponse();
$phone = trim($phone);
$login = trim($login);
// проверка капчи
$captcha = new captcha($captchanum);
if (!$captcha->checkNumber(trim($rnd))) {
$captcha->setNumber();
$error = 'Вы ввели неверную комбинацию букв';
sendPhoneRemindError($objResponse, $error, $captchanum, 'captcha');
return $objResponse;
}
// проверка правильности введенного номера
$i_phone = users::CheckSafetyPhone($phone);
if ($phone && $i_phone['error_flag']) {
$captcha->setNumber();
$error = 'Вы ввели телефон в недопустимом формате';
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone');
return $objResponse;
}
// проверка наличия номера в базе
if ($phone) {
$safetyPhones = sbr_meta::findSafetyPhones($phone);
if (!count($safetyPhones)) {
$error = 'Этот номер телефона не связан ни с одним аккаунтом. Попробуйте восстановить доступ через логин или email';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone');
return $objResponse;
}
foreach ($safetyPhones as $safetyPhone) {
$checkUser = new users();
$checkUser->GetUser($safetyPhone['login']);
if ($checkUser->is_banned) {
$error = 'Аккаунт с указанным номером телефона заблокирован или удален.\\nСожалеем, но восстановить пароль к нему в данный момент нельзя.';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
}
// если на один номер несколько аккаунтов и логин не указан
if (count($safetyPhones) > 1 && !$login) {
$captcha->setNumber();
$error = 'Вы не указали логин. Поле обязательно для заполнения, т.к. номер телефона привязан к нескольким аккаунтам';
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
// если номер не уникальный и указан логин
if (count($safetyPhones) > 1 || $login) {
foreach ($safetyPhones as $value) {
if ($value['login'] == $login) {
$safety = $value;
break;
}
}
if (!$safety) {
$error = 'Этот логин и номер телефона не связаны. Попробуйте восстановить доступ через логин или email';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone login');
return $objResponse;
}
}
if (count($safetyPhones) === 1 && !$login) {
$safety = $safetyPhones[0];
}
}
// если указан логин и не указан номер
if ($login && !$phone) {
// проверяем существует ли пользователь с таким логином
$user = new users();
$user->GetUser($login);
if (!$user->uid) {
$error = 'Вы указали некорректный логин';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
if ($user->is_banned) {
$error = 'Аккаунт с указанным логином заблокирован или удален.\\nСожалеем, но восстановить пароль к нему в данный момент нельзя.';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
$safety = sbr_meta::findSafetyPhoneByLogin($login);
if (!$safety) {
$error = 'Этот логин не связан ни с одним номером телефона. Попробуйте восстановить доступ через логин или email';
//.........这里部分代码省略.........
示例6: captcha
/*
if(in_array($type, array('new_projects')) && $info["role"][0] != 0){
include ABS_PATH . '/404.php';
exit;
}
*/
$alert = '';
//TODO: Избавиться от этого сообщения
if (!$ukey) {
$alert = 'Не удалось найти пользователя';
}
if ($action == 'unsubscribe') {
$num = __paramInit('string', null, 'rndnum');
$captchanum = __paramInit('string', null, 'captchanum');
$captcha = new captcha($captchanum);
if (!$captcha->checkNumber($num)) {
$alert = 'Введены неверные символы';
}
if (!$alert) {
$class = 'users';
$vacancy = 0;
if ($info['role'][0] == 0) {
$class = 'freelancer';
$vacancy = array();
}
$user = new $class();
global $DB;
if ($type == 'new_projects') {
if ($info['role'][0] == 1) {
//@todo: UpdateSubscr2 пока только для работодателей
$info['subscr'][12] = 0;
示例7: array
$TML->assignCompanyInfoAndTheme();
$errors = array();
$page = array();
$department = (int) $_REQUEST["department_db_id"];
$canChangeName = Visitor::getInstance()->canVisitorChangeName();
$v = GetVisitorFromRequestAndSetCookie();
$visitorid = $v['id'];
$captcha_num = $v['captcha'];
$message = get_mandatory_param('message');
$has_errors = false;
if (count($_POST) == 0 && count($_FILES) == 0) {
//костыль. при отправке на сервер большого файла приходит пустой request и files, как по длругому определить, пока не придумал
$has_errors = true;
$errors[0] = 6;
$errors[1] = iconv("UTF-8", "WINDOWS-1251//IGNORE", "Файл очень велик");
} elseif (!$captcha->checkNumber($captcha_num)) {
$has_errors = true;
$errors[0] = 5;
$errors[1] = iconv("UTF-8", "WINDOWS-1251//IGNORE", "Неверно введен текст");
} elseif (empty($message) || $message == '') {
$has_errors = true;
$errors[0] = 4;
$errors[1] = iconv("UTF-8", "WINDOWS-1251//IGNORE", "Заполните это поле");
} elseif (!$department) {
$has_errors = true;
$errors[0] = 7;
$errors[1] = iconv("UTF-8", "WINDOWS-1251//IGNORE", "Неверно введен текст");
}
$fileIndex = 1;
if (!$has_errors) {
$files = array();