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: 14.726 ]

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

Gerando documento PDF em PHP

Conheça o PHP-Fusion

Plugin Moip Assinaturas para CakePHP - Conheça e aprenda a usar

Aces Downz - Gerenciador de downloads e controle de tráfego

Lighttpd + SQLite + PHP

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts