• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Knitter

Será possível obter as estatísticas do Cpanel numa aplicação/página web?

8 mensagens neste tópico

Boas!

Comecei a usar o CPanel X, uma vez que é o usado no meu serviço de hosting, mas não tenho grande experiência com aquilo. Por outro lado não me posso dar ao luxo de usar um site comercial para fazer experiências e por isso tenho sempre alguma relutancia em mexer se conhecer melhor o sistema.

Gostaria de saber se alguém já fez ou se têm ideia de se é possível aceder às estatísticas que o CPanel fornece sem acedermos ao painel, por exemplo, se eu pretender dar acesso às estatísticas mas não quiser que o utilizador tenho permissões para mexer no resto do sistema. Estava a pensar desenvolver uma página para mostrar as estatísticas de um site mas não queria que o utilizador tivesse acesso ao painel de gestão do site, ainda corro o risco de lá chegar e ter tudo desconfigurado.

O que eu gostava era de uma API de ligação ao CPanel...

Peace.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde,

Eu sei que este tópico é já antigo, mas deparo-me com a mesma questão uma vez que gostaria de "embebir" a página das estatísticas do CPANEL na minha área de administração. Alguém pode ajudar.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema, pelo menos com que me deparei, é o processo de autenticação. As estatísticas são dadas por software externo ao CPanel, para o qual só há acesso através do CPanel.

Não consegui, no host que estava a usar, aceder directamente ao URL do sistema de estatísticas, o AWStats, sem que a password fosse pedida ao utilizador, no entanto, não insisti nessa tarefa e optei por processar os ficheiros do AWStats que pareceu mais simples e rápido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Pois existe o tal problema da autenticação e isso causa algum  desconforto.

Contudo poderás dar-me algumas dicas relativamente a como realizaste o processamento dos ficheiros (localização, metodo de leitura, etc...).

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tenho grandes dicas para dar, é um processamento de ficheiros de texto com formato conhecido. No meu caso, como estou a usar o AWStats, a opção foi pegar nos ficheiros que ele usa para registar as estatísticas e ir buscar campos específicos que me interessavam.

O formato do nome é sempre o mesmo, o conteúdo também tem um formato fixo, terás de ver esses ficheiros e pensar na melhor forma para fazeres um parsing aos dados, sendo que uma leitura linha a linha com expressões regulares deve ser suficiente. Eu também não leio o ficheiro todo, apenas algumas das informações iniciais, embora isso dê umas estatísticas mais simples, mas servem para o objectivo.

Vou ver se consigo colocar algum código, mas não será tão cedo que não tenho possibilidade de ir ver isso esta semana.

A localização dos ficheiros deve ser sempre a mesma, se não me engano estão dentro da pasta temp. Mas confirma, sei que estão facilmente acessíveis se navegares pela raiz do alojamento com um FTP qualquer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde,


Eu encontrei este código, será que é algo do género que estas a tentar expor?


<?php

//dv at josheli.com

$user = 'username';

$pass = 'pass';

$url    = 'www.dominio.pt';//do not include 'http://'

//retrieves the webalizer file, either .html or .png

function getFile($file){

global $user, $pass, $url;

return file_get_contents("http://$user:$pass@$url:2082/tmp/$user/webalizer/$file");

}

//alters links, either .html or .png

function changeLinks($subject, $type) {

return preg_replace("/($type=\")(?!http)(.*?)\"/is","$1$PHP_SELF?$2\"",$subject);

}

if(!empty($_SERVER['QUERY_STRING'])){

//get file (whether png or html)

$page = getFile($_SERVER['QUERY_STRING']);

//if png, output appropriate header

if(strpos($_SERVER['QUERY_STRING'],'.png')!==false){

header("Content-type: image/png");

}

//change the .png src(s)

else {

  $page = changeLinks($page, 'src');

}

}

else {

//get index

$page = getFile('index.html');

//change links

$page = changeLinks($page, 'href');

//change the usage.png src

$page = changeLinks($page, 'src');

}

//output it

echo $page;

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, isso o que vai fazer é obter o ficheiro HTML ou o PNG do webalizer, como disse, eu uso o awstats. Para o AWStats, os ficheiros com a informação estão guardados em /tmp/awstats, por exemplo, para Agosto de 2010 o nome do ficheiro será "awstats082010.<dominio>.txt". Este ficheiro tem todas as estatísticas e sendo um ficheiro de texto pode ser processado por ti.

A primeira secção destes ficheiros tem a informação da posição das secções que contêm informação, para acesso em modo binário ao ficheiro, por exeplo:

BEGIN_MAP 27
POS_GENERAL 1864                
POS_TIME 2547                
POS_VISITOR 6742                
POS_DAY 7491                
POS_DOMAIN 3201                
POS_LOGIN 3465                
POS_ROBOT 3620                
POS_WORMS 3958                
POS_EMAILSENDER 4089                
POS_EMAILRECEIVER 4232                
POS_SESSION 7626                
POS_SIDER 7813                
POS_FILETYPES 4367                
POS_OS 4585                
POS_BROWSER 4678                
POS_SCREENSIZE 4825                
POS_UNKNOWNREFERER 4899                
POS_UNKNOWNREFERERBROWSER 4986                
POS_ORIGIN 5068                
POS_SEREFERRALS 5207                
POS_PAGEREFS 5364                
POS_SEARCHWORDS 5547                
POS_KEYWORDS 5771                
POS_MISC 2210                
POS_ERRORS 5910                
POS_CLUSTER 3321                
POS_SIDER_404 6050                
END_MAP

Podes ler em modo binário e saltar logo para estas posições, ignorado secções que não te interessem, ou podes simplesmente ler o ficheiro linha a linha, em modo de texto, e procurar por informações com expressões regulares.

Se deres uma vista de olhos por este ficheiro vais ver que contém toda a informação necessária, desde o número de acessos, origem, URLs mais acedidos, línguas, termos de pesquisa, etc. Mas este ficheiro apenas existe se usares o AWStats como sistema de estatísticas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora