Recaptha не работает

Тема в разделе "Разделение прав доступа", создана пользователем makc9I, 07.02.2014.

  1. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет.
    Есть сайт: radiology35.ru, на данном сайте есть регистрация пользователей, включил я капчу для защиты от левака, и эта самая CAPTCHA никак не хочет отображаться на странице.
    Конечно же я гуглил этот вопрос, перепробовал кучу советов: включить капчу везде (к2, kunena), перерегистрировать ее на сайте реCAPTCHA, вернуть назад строчку изменения размера шрифта, выпиленную из шаблона. Самое забавное, что после того, как я все это сделал, и потом перерегистрировал на локальном сервере, CAPTCHA, о ЧУДО, появилась. Проделав те же манипуляции на боевом сайте, опять двадцать пять, не работает!

    Версия: Joomla! 2.5.18

    Консоль файрфокса выдает такое: TypeError: $.widget is null в файле recaptcha_ajax.js
    Консоль Хрома: Uncaught TypeError: Cannot set property 'innerHTML' of null recaptcha_ajax.js:168

    Что с этим делать, ума не приложу.
     
  2.  
  3. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской
    Вроде как recaptcha меняла API, я правил под проект попробуйте заменить на:

    Код (CODE):
    1. /plugins/captcha/recaptcha


    Код (PHP):
    1. <?php
    2. /**
    3.  * @package     Joomla.Plugin
    4.  * @subpackage  Captcha
    5.  *
    6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
    7.  * @license     GNU General Public License version 2 or later; see LICENSE.txt
    8.  */
    9.  
    10. defined('_JEXEC') or die;
    11.  
    12. /**
    13.  * Recaptcha Plugin.
    14.  * Based on the official recaptcha library( https://developers.google.com/recaptcha/docs/php )
    15.  *
    16.  * @package     Joomla.Plugin
    17.  * @subpackage  Captcha
    18.  * @since       2.5
    19.  */
    20. class PlgCaptchaRecaptcha extends JPlugin
    21. {
    22.     const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    23.     const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    24.     const RECAPTCHA_VERIFY_SERVER = "www.google.com";
    25.  
    26.     /**
    27.      * Load the language file on instantiation.
    28.      *
    29.      * @var    boolean
    30.      * @since  3.1
    31.      */
    32.     protected $autoloadLanguage = true;
    33.  
    34.     /**
    35.      * Initialise the captcha
    36.      *
    37.      * @param   string  $id  The id of the field.
    38.      *
    39.      * @return  Boolean True on success, false otherwise
    40.      *
    41.      * @since  2.5
    42.      */
    43.     public function onInit($id)
    44.     {
    45.         $document = JFactory::getDocument();
    46.         $app      = JFactory::getApplication();
    47.  
    48.         $lang   = $this->_getLanguage();
    49.         $pubkey = $this->params->get('public_key', '');
    50.         $theme  = $this->params->get('theme', 'clean');
    51.  
    52.         if ($pubkey == null || $pubkey == '')
    53.         {
    54.             throw new Exception(JText::_('PLG_RECAPTCHA_ERROR_NO_PUBLIC_KEY'));
    55.         }
    56.  
    57.         $server = self::RECAPTCHA_API_SERVER;
    58.  
    59.         if ($app->isSSLConnection())
    60.         {
    61.             $server = self::RECAPTCHA_API_SECURE_SERVER;
    62.         }
    63.  
    64.         JHtml::_('script', $server . '/js/recaptcha_ajax.js');
    65.         $document->addScriptDeclaration('window.addEvent(\'domready\', function()
    66.         {
    67.             Recaptcha.create("' . $pubkey . '", "dynamic_recaptcha_1", {theme: "' . $theme . '",' . $lang . 'tabindex: 0});});'
    68.         );
    69.  
    70.         return true;
    71.     }
    72.  
    73.     /**
    74.      * Gets the challenge HTML
    75.      *
    76.      * @param   string  $name   The name of the field.
    77.      * @param   string  $id     The id of the field.
    78.      * @param   string  $class  The class of the field.
    79.      *
    80.      * @return  string  The HTML to be embedded in the form.
    81.      *
    82.      * @since  2.5
    83.      */
    84.     public function onDisplay($name, $id, $class)
    85.     {
    86.         return '<div id="dynamic_recaptcha_1"></div>';
    87.     }
    88.  
    89.     /**
    90.       * Calls an HTTP POST function to verify if the user's guess was correct
    91.       *
    92.       * @return  True if the answer is correct, false otherwise
    93.       *
    94.       * @since  2.5
    95.       */
    96.     public function onCheckAnswer($code)
    97.     {
    98.         $input      = JFactory::getApplication()->input;
    99.         $privatekey = $this->params->get('private_key');
    100.         $remoteip   = $input->server->get('REMOTE_ADDR', '', 'string');
    101.         $challenge  = $input->get('recaptcha_challenge_field', '', 'string');
    102.         $response   = $input->get('recaptcha_response_field', '', 'string');
    103.  
    104.         // Check for Private Key
    105.         if (empty($privatekey))
    106.         {
    107.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_NO_PRIVATE_KEY'));
    108.  
    109.             return false;
    110.         }
    111.  
    112.         // Check for IP
    113.         if (empty($remoteip))
    114.         {
    115.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_NO_IP'));
    116.  
    117.             return false;
    118.         }
    119.  
    120.         // Discard spam submissions
    121.         if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0)
    122.         {
    123.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_EMPTY_SOLUTION'));
    124.  
    125.             return false;
    126.         }
    127.  
    128.         $response = $this->_recaptcha_http_post(
    129.             self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
    130.             array(
    131.                 'privatekey' => $privatekey,
    132.                 'remoteip'   => $remoteip,
    133.                 'challenge'  => $challenge,
    134.                 'response'   => $response
    135.             )
    136.     );
    137.  
    138.         $answers = explode("\n", $response[1]);
    139.  
    140.         if (trim($answers[0]) == 'true')
    141.             {
    142.                 return true;
    143.         }
    144.         else
    145.         {
    146.             // @todo use exceptions here
    147.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_' . strtoupper(str_replace('-', '_', $answers[1]))));
    148.  
    149.             return false;
    150.         }
    151.     }
    152.  
    153.     /**
    154.      * Encodes the given data into a query string format.
    155.      *
    156.      * @param   array  $data  Array of string elements to be encoded
    157.      *
    158.      * @return  string  Encoded request
    159.      *
    160.      * @since  2.5
    161.      */
    162.     private function _recaptcha_qsencode($data)
    163.     {
    164.         $req = "";
    165.  
    166.         foreach ($data as $key => $value)
    167.         {
    168.             $req .= $key . '=' . urlencode(stripslashes($value)) . '&';
    169.         }
    170.  
    171.         // Cut the last '&'
    172.         $req = rtrim($req, '&');
    173.  
    174.         return $req;
    175.     }
    176.  
    177.     /**
    178.      * Submits an HTTP POST to a reCAPTCHA server.
    179.      *
    180.      * @param   string  $host
    181.      * @param   string  $path
    182.      * @param   array   $data
    183.      * @param   int     $port
    184.      *
    185.      * @return  array   Response
    186.      *
    187.      * @since  2.5
    188.      */
    189.     private function _recaptcha_http_post($host, $path, $data, $port = 80)
    190.     {
    191.         $req = $this->_recaptcha_qsencode($data);
    192.  
    193.         $http_request  = "POST $path HTTP/1.0\r\n";
    194.         $http_request .= "Host: $host\r\n";
    195.         $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
    196.         $http_request .= "Content-Length: " . strlen($req) . "\r\n";
    197.         $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
    198.         $http_request .= "\r\n";
    199.         $http_request .= $req;
    200.  
    201.         $response = '';
    202.  
    203.         if (($fs = @fsockopen($host, $port, $errno, $errstr, 10)) == false )
    204.         {
    205.             die('Could not open socket');
    206.         }
    207.  
    208.         fwrite($fs, $http_request);
    209.  
    210.         while (!feof($fs))
    211.         {
    212.             // One TCP-IP packet
    213.             $response .= fgets($fs, 1160);
    214.         }
    215.  
    216.         fclose($fs);
    217.         $response = explode("\r\n\r\n", $response, 2);
    218.  
    219.         return $response;
    220.     }
    221.  
    222.     /**
    223.      * Get the language tag or a custom translation
    224.      *
    225.      * @return  string
    226.      *
    227.      * @since  2.5
    228.      */
    229.     private function _getLanguage()
    230.     {
    231.         $language = JFactory::getLanguage();
    232.  
    233.         $tag = explode('-', $language->getTag());
    234.         $tag = $tag[0];
    235.         $available = array('en', 'pt', 'fr', 'de', 'nl', 'ru', 'es', 'tr');
    236.  
    237.         if (in_array($tag, $available))
    238.         {
    239.             return "lang : '" . $tag . "',";
    240.         }
    241.  
    242.         // If the default language is not available, let's search for a custom translation
    243.         if ($language->hasKey('PLG_RECAPTCHA_CUSTOM_LANG'))
    244.         {
    245.             $custom[] = 'custom_translations : {';
    246.             $custom[] = "\t" . 'instructions_visual : "' . JText::_('PLG_RECAPTCHA_INSTRUCTIONS_VISUAL') . '",';
    247.             $custom[] = "\t" . 'instructions_audio : "' . JText::_('PLG_RECAPTCHA_INSTRUCTIONS_AUDIO') . '",';
    248.             $custom[] = "\t" . 'play_again : "' . JText::_('PLG_RECAPTCHA_PLAY_AGAIN') . '",';
    249.             $custom[] = "\t" . 'cant_hear_this : "' . JText::_('PLG_RECAPTCHA_CANT_HEAR_THIS') . '",';
    250.             $custom[] = "\t" . 'visual_challenge : "' . JText::_('PLG_RECAPTCHA_VISUAL_CHALLENGE') . '",';
    251.             $custom[] = "\t" . 'audio_challenge : "' . JText::_('PLG_RECAPTCHA_AUDIO_CHALLENGE') . '",';
    252.             $custom[] = "\t" . 'refresh_btn : "' . JText::_('PLG_RECAPTCHA_REFRESH_BTN') . '",';
    253.             $custom[] = "\t" . 'help_btn : "' . JText::_('PLG_RECAPTCHA_HELP_BTN') . '",';
    254.             $custom[] = "\t" . 'incorrect_try_again : "' . JText::_('PLG_RECAPTCHA_INCORRECT_TRY_AGAIN') . '",';
    255.             $custom[] = '},';
    256.             $custom[] = "lang : '" . $tag . "',";
    257.  
    258.             return implode("\n", $custom);
    259.         }
    260.  
    261.         // If nothing helps fall back to english
    262.         return '';
    263.     }
    264. }


    Погуглите рекаптча меняла API и там страница запроса другая стала.
    [!]
     
  4. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    На локальном хосте ничего не поменялось, на боевом сайте страница регистрации после этого вообще заглючила, стала выдавать только форму и ничего кроме формы, ни меню, ни оформления, только голая форма. Причем в этой форме капча также не отображается. Есть только подпись captcha.
     
  5. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской
    Joomla 2.5

    change line 24 to 26
    Код (CODE):
    1. const RECAPTCHA_API_SERVER = "http://api.recaptcha.net";
    2. const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    3. const RECAPTCHA_VERIFY_SERVER = "api-verify.recaptcha.net";


    к

    Код (CODE):
    1. const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    2. const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    3. const RECAPTCHA_VERIFY_SERVER = "www.google.com";



    And change line 118

    Код (CODE):
    1. $response = $this->_recaptcha_http_post(self::RECAPTCHA_VERIFY_SERVER, "/verify",


    к

    Код (CODE):
    1. $response = $this->_recaptcha_http_post(self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",



    Joomla 3.x

    change line 22 to 24

    Код (CODE):
    1. const RECAPTCHA_API_SERVER = "http://api.recaptcha.net";
    2. const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    3. const RECAPTCHA_VERIFY_SERVER = "api-verify.recaptcha.net";


    к

    Код (CODE):
    1. const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    2. const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    3. const RECAPTCHA_VERIFY_SERVER = "www.google.com";



    change line 129

    Код (CODE):
    1. self::RECAPTCHA_VERIFY_SERVER, "/verify",


    к

    Код (CODE):
    1. self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
     
  6. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    Без изменений.
    Хотя я не очень понял что на что заменять, заменял верхний код на нижний, ибо в исходном файле уже был код, сходный с нижним.
     
  7. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    Заменил кол в файле
    Код (CODE):
    1. /plugins/captcha/recaptcha/recaptha.php


    на такой:
    Код (PHP):
    1. <?php
    2. /**
    3.  * @package     Joomla.Plugin
    4.  * @subpackage  Captcha
    5.  *
    6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
    7.  * @license     GNU General Public License version 2 or later; see LICENSE.txt
    8.  */
    9.  
    10. defined('_JEXEC') or die;
    11.  
    12. jimport('joomla.environment.browser');
    13.  
    14. /**
    15.  * Recaptcha Plugin.
    16.  * Based on the official recaptcha library( https://developers.google.com/recaptcha/docs/php )
    17.  *
    18.  * @package     Joomla.Plugin
    19.  * @subpackage  Captcha
    20.  * @since       2.5
    21.  */
    22. class plgCaptchaRecaptcha extends JPlugin
    23. {
    24.     const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    25.     const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
    26.     const RECAPTCHA_VERIFY_SERVER = "www.google.com";
    27.  
    28.     public function __construct($subject, $config)
    29.     {
    30.         parent::__construct($subject, $config);
    31.         $this->loadLanguage();
    32.     }
    33.  
    34.     /**
    35.      * Initialise the captcha
    36.      *
    37.      * @param   string  $id The id of the field.
    38.      *
    39.      * @return  Boolean True on success, false otherwise
    40.      *
    41.      * @since  2.5
    42.      */
    43.     public function onInit($id)
    44.     {
    45.         // Initialise variables
    46.         $lang       = $this->_getLanguage();
    47.         $pubkey     = $this->params->get('public_key', '');
    48.         $theme      = $this->params->get('theme', 'clean');
    49.  
    50.         if ($pubkey == null || $pubkey == '')
    51.         {
    52.             throw new Exception(JText::_('PLG_RECAPTCHA_ERROR_NO_PUBLIC_KEY'));
    53.         }
    54.  
    55.         $server = self::RECAPTCHA_API_SERVER;
    56.         if (JBrowser::getInstance()->isSSLConnection())
    57.         {
    58.             $server = self::RECAPTCHA_API_SECURE_SERVER;
    59.         }
    60.  
    61.         JHtml::_('script', $server.'/js/recaptcha_ajax.js');
    62.         $document = JFactory::getDocument();
    63.         $document->addScriptDeclaration('window.addEvent(\'domready\', function() {
    64.             Recaptcha.create("'.$pubkey.'", "dynamic_recaptcha_1", {theme: "'.$theme.'",'.$lang.'tabindex: 0});});'
    65.         );
    66.  
    67.         return true;
    68.     }
    69.  
    70.     /**
    71.      * Gets the challenge HTML
    72.      *
    73.      * @return  string  The HTML to be embedded in the form.
    74.      *
    75.      * @since  2.5
    76.      */
    77.     public function onDisplay($name, $id, $class)
    78.     {
    79.         return '<div id="dynamic_recaptcha_1"></div>';
    80.     }
    81.  
    82.     /**
    83.       * Calls an HTTP POST function to verify if the user's guess was correct
    84.       *
    85.       * @return  True if the answer is correct, false otherwise
    86.       *
    87.       * @since  2.5
    88.       */
    89.     public function onCheckAnswer($code)
    90.     {
    91.         // Initialise variables
    92.         $privatekey = $this->params->get('private_key');
    93.         $remoteip   = JRequest::getVar('REMOTE_ADDR', '', 'SERVER');
    94.         $challenge  = JRequest::getString('recaptcha_challenge_field', '');
    95.         $response   = JRequest::getString('recaptcha_response_field', '');;
    96.  
    97.         // Check for Private Key
    98.         if (empty($privatekey))
    99.         {
    100.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_NO_PRIVATE_KEY'));
    101.             return false;
    102.         }
    103.  
    104.         // Check for IP
    105.         if (empty($remoteip))
    106.         {
    107.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_NO_IP'));
    108.             return false;
    109.         }
    110.  
    111.         // Discard spam submissions
    112.         if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0)
    113.         {
    114.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_EMPTY_SOLUTION'));
    115.             return false;
    116.         }
    117.  
    118.         $response = $this->_recaptcha_http_post(self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
    119.                                                 array(
    120.                                                     'privatekey'    => $privatekey,
    121.                                                     'remoteip'      => $remoteip,
    122.                                                     'challenge'     => $challenge,
    123.                                                     'response'      => $response
    124.                                                 )
    125.                                           );
    126.  
    127.         $answers = explode("\n", $response[1]);
    128.  
    129.         if (trim($answers[0]) == 'true') {
    130.                 return true;
    131.         }
    132.         else
    133.         {
    134.             //@todo use exceptions here
    135.             $this->_subject->setError(JText::_('PLG_RECAPTCHA_ERROR_'.strtoupper(str_replace('-', '_', $answers[1]))));
    136.             return false;
    137.         }
    138.     }
    139.  
    140.     /**
    141.      * Encodes the given data into a query string format.
    142.      *
    143.      * @param   string  $data  Array of string elements to be encoded
    144.      *
    145.      * @return  string  Encoded request
    146.      *
    147.      * @since  2.5
    148.      */
    149.     private function _recaptcha_qsencode($data)
    150.     {
    151.         $req = "";
    152.         foreach ($data as $key => $value)
    153.         {
    154.             $req .= $key . '=' . urlencode(stripslashes($value)). '&';
    155.         }
    156.  
    157.         // Cut the last '&'
    158.         $req = rtrim($req, '&');
    159.         return $req;
    160.     }
    161.  
    162.     /**
    163.      * Submits an HTTP POST to a reCAPTCHA server.
    164.      *
    165.      * @param   string  $host
    166.      * @param   string  $path
    167.      * @param   array   $data
    168.      * @param   int     $port
    169.      *
    170.      * @return  array   Response
    171.      *
    172.      * @since  2.5
    173.      */
    174.     private function _recaptcha_http_post($host, $path, $data, $port = 80)
    175.     {
    176.         $req = $this->_recaptcha_qsencode($data);
    177.  
    178.         $http_request  = "POST $path HTTP/1.0\r\n";
    179.         $http_request .= "Host: $host\r\n";
    180.         $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
    181.         $http_request .= "Content-Length: " . strlen($req). "\r\n";
    182.         $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
    183.         $http_request .= "\r\n";
    184.         $http_request .= $req;
    185.  
    186.         $response = '';
    187.         if (($fs = @fsockopen($host, $port, $errno, $errstr, 10)) == false )
    188.         {
    189.             die('Could not open socket');
    190.         }
    191.  
    192.         fwrite($fs, $http_request);
    193.  
    194.         while (!feof($fs))
    195.         {
    196.             // One TCP-IP packet
    197.             $response .= fgets($fs, 1160);
    198.         }
    199.  
    200.         fclose($fs);
    201.         $response = explode("\r\n\r\n", $response, 2);
    202.  
    203.         return $response;
    204.     }
    205.  
    206.     /**
    207.      * Get the language tag or a custom translation
    208.      *
    209.      * @return string
    210.      *
    211.      * @since  2.5
    212.      */
    213.     private function _getLanguage()
    214.     {
    215.         // Initialise variables
    216.         $language = JFactory::getLanguage();
    217.  
    218.         $tag = explode('-', $language->getTag());
    219.         $tag = $tag[0];
    220.         $available = array('en', 'pt', 'fr', 'de', 'nl', 'ru', 'es', 'tr');
    221.  
    222.         if (in_array($tag, $available))
    223.         {
    224.             return "lang : '" . $tag . "',";
    225.         }
    226.        
    227.         // If the default language is not available, let's search for a custom translation
    228.         if ($language->hasKey('PLG_RECAPTCHA_CUSTOM_LANG'))
    229.         {
    230.             $custom[] ='custom_translations : {';
    231.             $custom[] ="\t".'instructions_visual : "' . JText::_('PLG_RECAPTCHA_INSTRUCTIONS_VISUAL'). '",';
    232.             $custom[] ="\t".'instructions_audio : "' . JText::_('PLG_RECAPTCHA_INSTRUCTIONS_AUDIO'). '",';
    233.             $custom[] ="\t".'play_again : "' . JText::_('PLG_RECAPTCHA_PLAY_AGAIN'). '",';
    234.             $custom[] ="\t".'cant_hear_this : "' . JText::_('PLG_RECAPTCHA_CANT_HEAR_THIS'). '",';
    235.             $custom[] ="\t".'visual_challenge : "' . JText::_('PLG_RECAPTCHA_VISUAL_CHALLENGE'). '",';
    236.             $custom[] ="\t".'audio_challenge : "' . JText::_('PLG_RECAPTCHA_AUDIO_CHALLENGE'). '",';
    237.             $custom[] ="\t".'refresh_btn : "' . JText::_('PLG_RECAPTCHA_REFRESH_BTN'). '",';
    238.             $custom[] ="\t".'help_btn : "' . JText::_('PLG_RECAPTCHA_HELP_BTN'). '",';
    239.             $custom[] ="\t".'incorrect_try_again : "' . JText::_('PLG_RECAPTCHA_INCORRECT_TRY_AGAIN'). '",';
    240.             $custom[] ='},';
    241.             $custom[] ="lang : '" . $tag . "',";
    242.  
    243.             return implode("\n", $custom);
    244.         }
    245.  
    246.         // If nothing helps fall back to english
    247.         return '';
    248.     }
    249. }


    Вроде как этот код актуален.
    Ничего не происходит. Замучался уже. Какие только решения не пробовал.
    На локальном хосте я вижу такую надпись :введите два слова показанных на изображении
    Но самой капчи нет, на боевом сайте даже эти слова не отображаются. Капчу на нем вообще отключил, ибо пользователи не могут зарегистрироваться с включенной капчей, которой не видно.
     
  8. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    Проблема походу не в recaptha как таковой, я уж совсем отчаялся и решил скачать другую капчу. Скачал эту. И вот беда. В поле регистрации те же проблемы, она просто не отображается!
    1392478283-clip-20kb.png
    Но при этом не пропускает регистрацию, т.е. в код вшита, он ее не видно.
    Мне кажется, дело в К2, но куда копать, я не понимаю.
     
  9. Offline

    makc9I Недавно здесь

    Регистрация:
    07.02.2014
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    Нашел решение, заработало:
    Кто-нибудь знает, как сделать так, чтобы данные в форме сохранялись после неверно введенной капчи? А то это ведь издевательство над пользователями, каждый раз все руками набивать из-за ошибки в капче
     

Поделиться этой страницей

Загрузка...