Como efetuar o Auto-login no XOOPS 2.0x

  • Identifique-se para criar novos tópicos neste fórum
  • Visitantes anônimos não podem postar neste fórum
Ricardo  Membro   Postagens: 172

 

Auto-login para o XOOPS 2.0.x (adaptado do Site Official do Xoops) Testado com XOOPS 2.0RC3 (veja os comentários do passo 2), 2.0.2, 2.0.3. Os números de linhas são baseados no XOOPS 2.0.3. 1. Arquivo: include/common.php, linha 128 After

 // ############## Login a user with a valid session ##############
//Begin: Autologin hack. If ((empty($HTTP_SESSION_VARS['xoopsUserId'])) && (!empty($HTTP_COOKIE_VARS['al_pass'])&&(!empty($HTTP_COOKIE_VARS['al_uid'])))) { $al_uid=$HTTP_COOKIE_VARS['al_uid']; $pass=trim($HTTP_COOKIE_VARS['al_pass']); $member_handler =& xoops_gethandler('member'); $user =& $member_handler->getUser($al_uid); If (is_object($user)) { $uname= $user->getVar('uname'); } else { Unset($uname); }; Unset($user); $myts =& MyTextsanitizer::getInstance(); $user =& $member_handler->loginUser(addslashes($myts->stripSlashesGPC($uname)), addslashes($myts->stripSlashesGPC($pass)),true); If ($user!= false){ Setcookie('al_pass', $pass, time()+86400*100,'/','',0); Setcookie('al_uid',$user->uid(),time()+86400*100,'/','',0); $user->setVar('last_login', time()); If (session_id()==''){session_destroy(); session_start();}; $HTTP_SESSION_VARS = array(); $HTTP_SESSION_VARS['xoopsUserId'] = $user->getVar('uid'); $HTTP_SESSION_VARS['xoopsUserGroups'] = $user->getGroups(); If ($xoopsConfig['use_mysession'] && $xoopsConfig['session_name']!= '') { Setcookie($xoopsConfig['session_name'], session_id(), time()+$xoopsConfig['session_expire'], '/', '', 0); $HTTP_COOKIE_VARS[$xoopsConfig['session_name']]=session_id(); } $user_tema = $user->getVar('tema'); If (in_array($user_tema, $xoopsConfig['tema_set_allowed'])) { $HTTP_SESSION_VARS['xoopsUsertema'] = $user_tema; } }; }; //End: Autologin Hack

2. Arquivo: kernel/member.php, line 320, substituição da função: function loginUser: Para as ver. 2.0.2 & 2.0.3 (talvez superiores)

//Begin: Autologin hack. Function &loginUser($uname, $pwd, $al_login = false) { $criteria = new CriteriaCompo(new Criteria('uname', $uname)); If (!$al_login){$mypwd=md5($pwd);} else {$mypwd=$pwd;}; $criteria->add(new Criteria('pass', $mypwd)); $user =& $this->_uHandler->getObjects($criteria, false); If (!$user || count($user)!= 1) { Return false; } Return $user[0]; } //End: Autologin hack

...para ver. 2.0RC3:

//Begin: Autologin hack. Function &loginUser($uname, $pwd, $al_login = false) { $criteria = new CriteriaCompo(new Criteria('uname', $uname)); $criteria->add(new Criteria('pass', $pwd)); $user =& $this->_uHandler->getObjects($criteria, false); If (!$user || count($user)!= 1) { Return false; } Return $user[0]; } //End: Autologin hack

3.Arquivo: include/checklogin.php, line 46, depois da linha

if (false!= $user) {

:

//Begin: Autologin hack. If (!empty($HTTP_POST_VARS['union_al'])&&($HTTP_POST_VARS['union_al']=='Yes')){ Setcookie('al_pass', md5($pass), time()+86400*100,'/','',0); Setcookie('al_uid',$user->uid(),time()+86400*100,'/','',0); }; //End: Autologin hack.

4. File: /user.php, line 73, after line session_destroy();:

//Begin: Autologin hack. Setcookie('al_pass', '', time()-33600,'/','',0); Setcookie('al_uname', '', time()-33600,'/','',0); Setcookie('al_uid', '', time()-3600,'/','',0); //End: Autologin hack

5. Vá para o painel de Controle->Administração->Editor de modelo r->Sistema->system_block_login.html (Edit) e adicione as seguintes linhas (se preferir vá diretamente pelo diretório remoto/local e efetue o upload depois):

<input name="union_al" type="checkbox" value="Yes" />Remember password

. PRONTO! O padrão é de 100 dias de auto-login. Caso você queira mais dias mude o número '100' para o valor que você quiser. A senha será gravada como md5 hash. Não há senha em formato texto! Nome de utilizador é gravado como ID. Redeye

 
Gilberto Galdino de Oliveira  Membro De: Guarulhos - São Paulo - Brasil  Postagens: 171

Isto ser incrivél, parabéns, a comunidade XOOPS agradece.

Localizamos onde podemos descarregar deste hack, mas está em alemão e vocês sabem que sabemos ler bem em chinês, coreano, japonês, russo, mas alemão não.
Observação: Brincadeirinha.

http://myxoops.de/modules/mydownloads/viewcat.php?cid=17

Precisa estar logado para acessar esta área.
Um AbraXoops.
Gilberto.

Ricardo  Membro   Postagens: 172

estamos aí para isso!

suico  Iniciante   Postagens: 18

Parabéns eu estive atrás desta informação em vários portais e não havia encontrado. Vou testar ainda hoje e passo os resultados para vocês , e provavelmente peço mais umas diquinhas aí :)

Salomão  Membro De: Brasília - DF - Brasil  Postagens: 503

Tu sabe que em alemão a gente dá as nossas cacetadas...

Vamos por partes:

Beschreibung:

(Descrição:)

Mit diesem Hack werden die Login daten in einem Cookie gespeichert ( da Passwort verschlusselt und Cookie auf eigenem Rechner, also kein Sicherheitsrisiko ).

(Com esse 'hack' os dados do login são armazenados em um 'cookie' (localmente, contendo login e senha))

Gilt fur XOOPS 2.0.3 ohne das IBF Modul!

(Se aplica à versão 2.0.3 do XOOPS sem o módulo IBF)

Datei hochladen, im Adminbereich Userbezogene Sessions aktivieren ausloggen, alte Cookies löschen und fertig.

(Se efetuado o 'logout', o 'cookie' será apagado e os dados dele perdidos)

Basierend auf Koudanshi`s Hack

(Baseado no 'hack' de Koudanshi)

É isso, acho que já dá para começar, lembrando que essa é a versão sem o módulo IBF (what the hell is that?)

URL: http://myxoops.de/modules/mydownloads/singlefile.php?lid=241
Download: http://myxoops.de/modules/mydownloads/visit.php?cid=17&lid=241 (ambos requerem autenticação no site)

Ricardo  Membro   Postagens: 172

alguém mais já aplicou este hack?
Queria saber como ficou... se funcionou legal

  Pesquisa avançada






Entrada

Codinome:


Senha:





Perdeu a senha?  |Cadastre-se!


Quem nos visita
Há 42 visitantes neste momento... (22 na seção Fóruns)

Associados: 0
Anônimos: 42

outros...

Banner XOOPS Cube