Problema com captcha na versão 2.4.8.1

Prezados, boa noite!

Estamos com problema no cadastro nas revistas do nosso portal em função da necessidade de upgrade do reCAPTCHA v1 o reCAPTCHA v2.

Alguém poderia nos auxiliar?

Obrigada!

Ola @etorino

Para fazer uso do reCaptcha v2 do Google nesta versão do OJS é necessário aplicar dois patches disponibilizados.
Peça para a pessoal responsável pela parte de TI aplicar na ordem este:

e depois este:

Isto irá resolver o problema na sua revista, precisarás atualizar as public e secret keys, além de ativar tanto o reCaptcha quanto o uso da versão 2 no seu config.inc.php pelos parâmetros.


Israel Cefrin

1 curtida

Se a versão for 2.4.8.3 também precisa dos patches?

Olá @nathaliaavila

Sim, mas dependendo de como instalaste o teu OJS talvez somente o segundo, para verificar se eles são aplicados corretamente execute o comando patch usando a opção --dry-run. Ex,:

$ patch -p1 --dry-run < arquivo-de-patch.patch

abs.
Israel

Olá, fiz funcionar o recaptcha v2 no ojs 2.4.8-1 na minha maquina (localhost), agora preciso mandar pro servidor, porem, quando coloco no servidor, nao funciona o recaptcha. quando vou cadastrar usuario no localhost ele aparece o recaptcha e funcionar perfeitamente, mas no servidor nem aparece e nao encontrei nenhum erro nos logs.

localhost:

SO: Windows 10
PHP Version 5.6.36
Apache/2.4.33 (Win32) OpenSSL/1.0.2o PHP/5.6.36
modules: core mod_win32 mpm_winnt http_core mod_so mod_access_compat mod_actions mod_alias mod_allowmethods mod_asis mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav_lock mod_dir mod_env mod_headers mod_include mod_info mod_isapi mod_log_config mod_cache_disk mod_mime mod_negotiation mod_proxy mod_proxy_ajp mod_rewrite mod_setenvif mod_socache_shmcb mod_ssl mod_status mod_version mod_php5

server:

SO: Linux, ubuntu.
PHP Version 5.6.30-7+deb.sury.org~xenial+1
Apache/2.4.18 (Ubuntu)
Modules: core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_actions mod_alias mod_allowmethods mod_asis mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cache mod_cache_disk mod_cgi mod_dav mod_dav_fs mod_dav_lock mod_deflate mod_dir mod_env mod_filter mod_headers mod_include mod_mime prefork mod_negotiation mod_php5 mod_proxy mod_proxy_ajp mod_rewrite mod_setenvif mod_socache_shmcb mod_ssl mod_status

alguém tem alguma ideia do que poder estar acontecendo?

Olá Guilherme,

Chegaste a atualizar as tuas chaves (pub and secret Keys) no arquivo de configuração?
Tens de gerar as chaves no site do Google recaptcha para cada domínio .

Israel

Fiz isso, e acabei de fazer novamente, mas continua o mesmo, eu ja coloquei o meu domínio na hora de gerar, e nada. meu domínio é http://e-revista.unioeste.br/

No seu arquivo config.inc.php está configurado como ON a diretiva de recaptacha?

ABs
Israel

esta dessa forma:

Olá @Guilherme_Polido

Você precisa habilitar o captcha = On (e desabilitar o off):
; captcha = off captcha = on

Isso deve resolver sua questão.

Abraço
Israel

Mudei, mas não deu, reiniciei o apache até, limpei o cache, e não foi, o engraçado que no XAMP que estou rodando na minha maquina Windows ele funciona certinho, ai quando copio a parta do projeto pro servidor Linux ele não funciona o captcha, já coloquei todos os domínios relacionados ao http://e-revista.unioeste.br/, até ja liberei o firewall pra testar se não estava bloqueando algo, mas não aconteceu nada.

Você precisa descomentar a linha:

; captcha_on_register = on

para ficar

captcha_on_register = on

Abs
Israel

Eu já mexi um monte nessas conf e não funcionou no linux, porem no windows funciona normal.

Não aparece nem uma caixa de erro no captcha online?

Ele deveria aparecer aqui, mas só não aparece nem erro…

Acabei de baixar o projeto do meu servidor linux e coloquei pra rodar no windows, do jeito que estava no linux sem alterar uma linha, e:

Tem alguma ideia do que pode ser?

As versões do OJS e os mesmos patches foram aplicados em ambos?

Israel

Sim o OJS são a mesma versão. O que esta rodando no windows é uma cópia do que esta rodando no linux.

phpInfo do windows:
https://drive.google.com/open?id=1k4EdKkMNrJGU1WEqHhCKA6ejxMbIRBFu

phpInfo do Linux:
https://drive.google.com/open?id=11cAVUy8jRNf12XDhM_UgVzsenmfBeCn_

Você poderia criar uma página html de teste seguindo este modelo?
https://patrickhlauke.github.io/recaptcha/

Teste com suas chaves apenas para verificar se o seu servidor não está bloqueando.

Falaste que a versão que roda localmente é uma cópia do que está no ar, em qual deles aplicaste o patch primeiramente? Usaste o comando patch no windows também?

Abs.
Israel

Sim funciona, http://e-revista.unioeste.br/recaptcha.html, veja:

Então, não conheço muito sobre patch, então o que fiz foi abrir os arquivos que deveriam ser modificados, copiei o que tinha dentro e mudei os arquivos correspondentes do projeto. eu fiz isso no windows, depois de ter visto que funcionava o captcha no windows, fiz as mesmas alterações no servidor, porem não funcionou, então resolvi baixar o projeto do servidor linux e rodar no windows, e acabou que no windows funciona e no linux não.

O modo de garantir que o patch tenha sido apropriadamente aplicado é usando a ferramenta patch do sistema.
Poderias tentar subir os teus arquivos alterados para o servidor?

Lembrando que podes ter tanto na pasta base do OJS quanto na lib/pkp.

Abs.
Israel