Deixando seu PHPNuke mais 'esperto'

Com algumas alterações em alguns arquivos, é possível deixar seu PHPNuke um pouco mais "esperto". Essa matéria fala justamente sobre as alterações necessárias para que seus usuários não precisem acessar o módulo "Your_Account" para logar-se e, em um segundo momento, como tirar o código de segurança para navegadores texto (como o links-ssl, por exemplo).

[ Hits: 15.642 ]

Por: Luiz Guaraldo em 21/07/2004 | Blog: http://www.matilha.org/hugen


Tirando código de segurança para navegadores texto



Se seu site é popular entre usuários de GNU/Linux que usam apenas as consoles e o servidor onde você hospeda a página tem o módulo GD carregado, você já deve ter recebido pedido para tirar o código de segurança que existe para o login. As alterações que seguem (nos arquivos modules/Your_Account/index.php, include/counter.php e blocks/block-Login.php) servem para que o código de segurança não esteja presente para os navegadores que se identifiquem como Lynx.

include/counter.php


Pense em um nome para uma nova variável (como comecei a usar isso para fazer o bloco Modules aparecer apenas para navegadores texto, usarei o nome $blockleft no exemplo). Na linha 37, inclua os códigos abaixo:

/* Alteração por Luiz Guaraldo (http://www.universolivre.com.br)
Faz o código de segurança para login não aparecer para navegadores que se identifiquem como Lynx ou outros desconhecidos. */


if ($browser == "Lynx" || $browser == "Other") {
   $blockleft = 1;
} else {
   $blockleft = 0;
}

Muito bem, agora o trabalho vai ser um pouco mais braçal...

modules/your_account/index.php e blocks/block-login.php


Nos arquivos modules/Your_Account/index.php e blocks/block-Login.php você terá que procurar todas as funções que tenham a linha de código abaixo:

if (extension_loaded("gd") AND ($gfx_chk == 2 OR $gfx_chk == 4 OR $gfx_chk == 5 OR $gfx_chk == 7)) {

No início de cada uma das funções você encontra a linha de código parecida com o que está abaixo:

global $admin, $user, $sitekey, $gfx_chk;

Acrescente $blockleft nela e altere a linha apresentada anteriormente para o que segue:

if ((extension_loaded("gd") AND $blockleft == 0) AND ($gfx_chk == 2 OR $gfx_chk == 4 OR $gfx_chk == 5 OR $gfx_chk == 7)) {

Prontinho... as alterações tem efeitos e seu PHPNuke fica muito mais "esperto".

PS: Com essa alteração também é possível fazer uma exibição diferenciada caso o navegador seja texto, fazendo, por exemplo, com que os templates sejam diferentes para cada tipo de apresentação. É fácil alterar isso, colocando uma linha de código no modules.php para que, se o $blockleft for 1, outro arquivo seja incluído e não o template padrão.

Use sua criatividade, pois o código que está aqui é 100% livre (mantenha o comentário com o crédito, por favor).

O documento original encontra-se em:

Página anterior    

Páginas do artigo
   1. modules.php e pedindo senha
   2. Tirando código de segurança para navegadores texto
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Formulário "Fale Conosco" em HTML/PHP autenticado no SMTP Server

Servidor LAMP + PHPMyAdmin + Webalizer

Enganando o proxy Squid (download de arquivos)

Estatísticas para todos

Instalando o phpBB num servidor Web

  
Comentários
[1] Comentário enviado por vodooo em 22/07/2004 - 02:11h

Realmente ter que entrar em outra página para fazer o login era um saco!

Bom artigo!

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts