Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

registrace uživatele v k2

11. říj 2018 21:39 - 11. říj 2018 21:39 #137221
registrace uživatele v k2 od Ernst
Joomla Expert
při registrace uživatele s pomocí captcha v K2 mi to následně vypíše chybu Could not verify that you are not a robot.
Uživatel se nezaloží.
Captcha je nastavena správně a na jiných místech funguje OK

joomla 3.8.13. K2 2.9 stránka www.eshop-diochi.cz/cs/login/registrace (je to testovací, klidně si zkuste založit uživatele).

Samotná kontrola captcha je v /components/com_k2/helpers/utilities.php
Code:
public static function verifyRecaptcha() { $params = JComponentHelper::getParams('com_k2'); $vars = array(); $vars['secret'] = $params->get('recaptcha_private_key'); $vars['response'] = $_POST['g-recaptcha-response']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars, '', '&')); $result = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); $response = json_decode($result); if($result && $info['http_code'] == 200 && is_object($response) && isset($response->success) && $response->success == true) { return true; } else { return false; } }

a volání funkce je v /www/plugins/user/k2/k2.php
Code:
if($params->get('recaptchaV2')) { require_once JPATH_SITE.'/components/com_k2/helpers/utilities.php'; if (!K2HelperUtilities::verifyRecaptcha()) { if (K2_JVERSION != '15') { $url = 'index.php?option=com_users&view=registration'; } else { $url = 'index.php?option=com_user&view=register'; } $application->enqueueMessage(JText::_('K2_COULD_NOT_VERIFY_THAT_YOU_ARE_NOT_A_ROBOT'), 'error'); $application->redirect($url); } } else

a zobrazení captcha je v /components/com_k2/templates/register.php
Code:
<?php if($this->K2Params->get('recaptchaOnRegistration') && $this->K2Params->get('recaptcha_public_key')): ?> <?php if(!$this->K2Params->get('recaptchaV2')): ?> <label class="formRecaptcha"><?php echo JText::_('K2_ENTER_THE_TWO_WORDS_YOU_SEE_BELOW'); ?></label> <?php endif; ?> <div id="recaptcha" class="<?php echo $this->recaptchaClass; ?>"></div> <?php endif; ?>

Já tam chybu najít nevidím, napadá vás něco?

11. říj 2018 21:59 #137223
Odpověď od Cony
Moderátor
Vycházím z předpokladu, že ReCaptcha v K2 funguje, pak jediné co mě napadá je podpora cUrl. Je na serveru podpora cUrl?
Druhá věc je správně zadaný PublicKey, "všude jinde" si to bere public key z nastavení pluginu, tady je samostatné nastavení.

11. říj 2018 22:09 - 11. říj 2018 22:12 #137224
Odpověď od Ernst
Joomla Expert
Klíče jsou v pořádku , to jsem kontroloval a asi by se ani captcha nevypsala.
Je to na active24 a podpora cUrl tam je.

11. říj 2018 22:22 #137225
Odpověď od Cony
Moderátor
Tak pak bych zkusil debugger chudého programátora - var_dump :)

11. říj 2018 22:23 #137226
Odpověď od Ernst
Joomla Expert
ještě jsem si pro jistotu zapnul v k2 komentáře a tam captcha funguje.

Zapnul jsem jen v tomto jednom článku www.eshop-diochi.cz/cs/aktuality-a-zajim...prvni-pomoc-na-cesty

11. říj 2018 22:26 #137227
Odpověď od Ernst
Joomla Expert
ano, Cony, také už se s tím smiřuji, ale moc se mi do toho nechce B)

zkouším, zda se s tím někdo nesetkal.

Navíc si myslím, že to dříve šlo, ale od té doby bylo dost upgrade a taky google mohl něco změnit

Ale působí to na mě jako obecná chyba v K2, nemá to možnost někdo zkusit na jiném webu?

Powered by Fórum