Jump to content


prix's Content

There have been 110 items by prix (Search limited from 21/04/2023)



Ordernar por                Order  

#659656 Script Em Cgi

Posted by prix on 10/11/2005, 00:07 in CGI/Perl

lei o meu primeiro post e responda ele para que eu possa ajuda-lo !!!



#659294 Script Em Cgi

Posted by prix on 09/11/2005, 01:21 in CGI/Perl

ele nao quer paginar ele disse que em algumas paginas alguns links aparecem errados, por isso quero ver uma parte dos arquivos q ele le, para poder ver o html e ver o q esta errado nas expressões q ele esta usando.

possivelmente o problema esta na regex mas tenho q ver o html pra ter certeza.

$line =~ s/..\/figuras/figuras/ig;



#659130 Script Em Cgi

Posted by prix on 08/11/2005, 15:20 in CGI/Perl

o toolkit para vc usar vc tera q ter conhecimento em perl

se o seu codigo esta funcionando normalmente com minimos erros post o que eu pedi q irei tentar lhe ajudar para fazer o mesmo funcionar



#658650 Script Em Cgi

Posted by prix on 07/11/2005, 12:21 in CGI/Perl

sera q voce pode postar um pedaço do conteudo do que eh lido
por exemplo do
open (menu_dir,"./pagina2.htm");
se puder por um poco de cada um seria melhor

e de preferencia as partes que aparecem o nome figuras



#654582 Dados De Um Array

Posted by prix on 26/10/2005, 02:02 in CGI/Perl

$quero = 'banana';

my @frutas = qw/ laranja banana maça /;

if (grep {$quero eq $_} @frutas) { print "<b>Sua banana.</b>" .; }




#654578 Passo A Passo Para Criar Um Sistema De Login

Posted by prix on 26/10/2005, 01:22 in CGI/Perl

nao interessa se eh lan house vc nao entendeu.

se do meu computador eu acessar 2 usuarios diferentes eu vou ter acesso.

no caso você teria que fazer um filtro e somente 1 ip poderia acessar por usuário e ai se vc tiver 2 usuarios diferentes usando 1 computador ao mesmo tempo, voce tem algo que não funcionaria como devido !

nao precisa do refresh basta colocar o codigo em cada script assim se ele estiver na pagina acessando outros locais ele aparece online se ele ficar inativo voce tira ele da lista ate ele acessar algo, e quando ele acessar ele volta na ativa.

se alguem fechar o navegador usando o X voce nao ira detectar.
o refresh nao ira ser efetuado.

se tiver algo que esteja em load constante em seu site java scripts nao irao funcionar para detectar o click no X de fechar e por ai vai.

Seria mais simples usar id, sessões e o ip. para ter segurança.



#654423 Passo A Passo Para Criar Um Sistema De Login

Posted by prix on 25/10/2005, 16:14 in CGI/Perl

teria uma pequena falha, pois se a pessoa estiver numa lan house como fica ? adiciona somente 1 pessoa?

entende ?

teria que ser por id ou nome do usuario para distinguir quem esta logado.

Eu entendi o caso do time, é uma boa e to pensando em implementar.

Mas eu não entendi sobre a lan house...como assim ?

O Script verifica se existe o usuario numa lista de usuarios...e existindo o usuario nessa lista, cria-se um segundo arquivo, contendo os usuários logados com seus ips.

numa lan house, se duas pessoas entrarem nesse site, vão estar com o mesmo login, pois estão em uma rede com internet compartilhada, saca???

então tem de alterar seu script pra destinguir as pessoas...

flw!!

corrigindo o amigo jgcl

numa lan house, se duas pessoas entrarem nesse site, vão estar com o mesmo login, pois estão em uma rede com internet compartilhada, saca???


Elas estarão com o mesmo IP

Entao se em vez de gravar o ip e no seu sistema onde você grava o usuario

você tivesse algo como o ID no inicio seria de mais facil controle em varios casos.

EXEMPLO:

arquivo de usuarios

ID|Hahahaah|haha|uia|acesso
OUTRAID|Hahahaah3|haha|uia|acesso
OUTRAID|Hahahaah4|haha|uia|acesso


arquivo de ultimos acessos

id|ip_do_usuario|acesso_total|timestamp



O que são as IDs ?
é um valor usado pra identificar ou interligar alguem ou alguma coisa a este valor.

Você pode usar o que quiser como id.
O mais padrão em uso em ids são numeros sequenciais.

exemplo

0000001|Hahahaah|haha|uia|acesso
0000002|Hahahaah|haha|uia|acesso
0000003|Hahahaah|haha|uia|acesso
0000004|Hahahaah|haha|uia|acesso
0000005|Hahahaah|haha|uia|acesso
0000006|Hahahaah|haha|uia|acesso
0000007|Hahahaah|haha|uia|acesso



Não esqueça que para o usuário continuar como online você tera que fazer um script para sempre que ele acessar ou atualizar uma pagina ele atualize o timestamp do arquivo em que grava os ultimos acessos

E você continua podendo manter o IP mantendo o ip você tem acesso a saber se ouve algum acesso irregular.



#653979 Passo A Passo Para Criar Um Sistema De Login

Posted by prix on 24/10/2005, 13:10 in CGI/Perl

teria uma pequena falha, pois se a pessoa estiver numa lan house como fica ? adiciona somente 1 pessoa?

entende ?

teria que ser por id ou nome do usuario para distinguir quem esta logado.



#653607 Passo A Passo Para Criar Um Sistema De Login

Posted by prix on 22/10/2005, 22:20 in CGI/Perl

se o seu cgi-bin eh um diretorio protegido mova os arquivos para la.

Como vou saber se o meu cgi-bin eh protegido ? envie um arquivo para la, e digite, www.seusite.com/cgi-bin/arquivo.zip e tente baixar o arquivo caso você nao consiga o seu cgi-bin eh protegido.

E como alguem vai fazer download entao ?

Simples faça o script renomear o arquivo e move-lo para uma pasta que o download funciona.
Faça o arquivo ficar la por tanto tempo.
E depois apague o arquivo.

Assim somente aquela pessoa sabera qual o nome do arquivo, e logo depois ele nao mais existira.

Gabriel|gabriel|password|acesso|timestamp
Nao sei quem|nao|sei|acesso|timestamp
Hahahaah|haha|uia|acesso|timestamp


Acesso 1 ou 0 caso seja 1 o cara tem acesso aos downloads caso seja 0 ele nao tem.

O que eh o timestamp ?
timestamp eh o modo que o computador grava um evento sua data e hora
ex: 1130029823

Como gravar no banco de dados o ultimo valor em timestamp.

No codigo que você utiliza adicione na linha onde voce salva o banco de dados o seguinte:

$nome|$user|$pass|$acesso|$timestamp


E antes da linha que abre o banco de dados adicione:
$timestamp = time;


#!/usr/bin/perl

open(USER, "users.dat");
@user=<USER>;
close(USER);

$u_online = 0;
$tempo = 500; # 500 significa o tempo em segundos, quem estiver inativo por mais de 500 segundos ira sair da listagem de usuarios online. voce pode alterar para o tempo q desejar.

foreach $usuarios (@user) {
($nome,$usuario,$senha,$acesso,$online) = split(/\|/,$usuarios);
chomp $online;

$diferenca = time-$online;
if (($diferenca < $tempo) && ($diferenca > 0)) { $u_online++; }

}

if ($u_online > 1) { $s = 's'; }

print "Content-Type: text/html\n\n";
print "Tempos um total de $u_online usuário$s online\n";



pS: como você esta neste exemplo utilizando TXT como banco de dados recomendo que mude para MYSQL ou que atribua para cada usuario uma ID e crie outro arquivo para salvar os dados de acesso para gerar a lista de usuarios online.

Pois se você tiver um numero de acesso muito grande isso pode destruir o seu banco de dados.



#652619 Como Utilizar Modules Sem Poder

Posted by prix on 20/10/2005, 02:50 in Artigos, Dicas e Tutoriais de CGI/Perl

A maioria das modules são códigos em perl, e não precisam recompilar nada. Porem algumas sim precisam recompilar o apache ou algum outro programa.

Vamos la, vamo usar aqui a module HTML::Template como exemplo, mas este processo pode ser repetir com quase todas as modules.

1. Crie um diretoria chamado modules.
2. Aplique o CHMOD 777 no diretoria modules.
3. Envie a module HTML::Template via ftp para o diretorio modules.
4. Todos os diretorios que forem criados deem o CHMOD 777 e todos os ARQUIVOS .PM devem ser enviados em ASCII e receber o CHMOD 644

5. Apos ter enviada a module para o diretorio modules basta adicionar em seu script:
use lib '/home/seudominio/modules';

6. logo apos adicionar "use lib '/home/seudominio/modules';" coloque:
use HTML::Template;

7. Pronto você já pode utilizar a module



http://search.cpan.org


http://search.cpan.o...late-2.7.tar.gz




#647148 Instalação De Script Em Cgi

Posted by prix on 04/10/2005, 19:15 in Dúvidas sobre Scripts Prontos de CGI/Perl

pelo que diz ai no erro parece que você não comprou ele ou nao colocou a licensa no local.
pois da um erro na licensa.

caso voce tenha compro seria mais rapido entrar em contato com o suporte deles pedindo a lincensa.

You have no license for using PerlDesk!
Can't locate auto/Log/Agent/logconfig.al


pelomenos eh o que o erro diz. os arquivos podem ser livrarias que geram e verificam a autenticidade do mesmo ou so para conferir se voce tem a mesma.



#640162 Servidor Socket Pelo Cgi

Posted by prix on 17/09/2005, 15:47 in CGI/Perl

este esta em ingles mas mostra um inicio bem simples:
http://www.perlfect....s/sockets.shtml

nao vi nenhum em portugues mas se achar posto aqui.



#638027 Cgi - Perl Desk - InstalaÇÃo Erro

Posted by prix on 13/09/2005, 11:51 in Dúvidas sobre Scripts Prontos de CGI/Perl

se for uma versão original do mesmo voce deveria contactar o suporte do perldesk.

www.perldesk.com eles tem suporte em espanhol



#637685 QueryString

Posted by prix on 12/09/2005, 16:26 in Artigos, Dicas e Tutoriais de CGI/Perl

tem.

mude isso
if ($paginas eq "cgi") { # faz as comparações
open(A,"$paginas.html");
@pagina = <A>;
close(A);
print "@pagina";

para
if ($paginas eq "perl") { # faz as comparações
open(A,"cgi.html");
@pagina = <A>;
close(A);
print "@pagina";



#637684 Sistema De Busca

Posted by prix on 12/09/2005, 16:24 in Artigos, Dicas e Tutoriais de CGI/Perl

por que ele tenta fazer outro tipo de comparação.
no caso ($key2 = /$descr/i)



#637682 Informações Do Usuário...

Posted by prix on 12/09/2005, 16:23 in Artigos, Dicas e Tutoriais de CGI/Perl

voce vai ter que adicionar um lista alternativa de modulos pois o ppm vem com uma lista padrao, ou entao ir em http://search.cpan.org e pegar a module e instalar.



#637466 Pedido De Tutorial

Posted by prix on 12/09/2005, 09:23 in Artigos, Dicas e Tutoriais de CGI/Perl

$sth = $dbh->prepare(q{
INSERT INTO usuarios (nome,email,cachorrinho,mulher) VALUES (?, ?, ?, ?)
});

sempre que criar uma tabela, adicione um campo a mais e sempre no 1 campo coloque o nome de id ou codigo ou algo do genero.

crie o primeiro campo como INT 5, unsigned zerofill, auto increment, primary key.

pois assim para todos os novos usuarios cadastrados uma nova ID sera gerada. e ela sera considera primaria.

-----------

nome, serva para voce adicionar o nome neh ?? como voce cria ou adiciona algo novo se nao tiver as informações para adicionar ??

$ref = $sth->execute($nome) || die print('Não foi possivel adicionar o usuário.');

no caso acima voce colocaria:

$ref = $sth->execute($nome,$email,$cachorrinho,$mulher) || die print('Não foi possivel adicionar o usuário.');



#637404 Pedido De Tutorial

Posted by prix on 11/09/2005, 22:49 in Artigos, Dicas e Tutoriais de CGI/Perl

------ Adicionar

#!/usr/bin/perl

require 'lib.pl';

print "Content-Type: text/html\n\n";

$nome = 'Jaum da roça';

&conectar;
$sth = $dbh->prepare(q{
       INSERT INTO usuarios (nome) VALUES (?)
});
$ref = $sth->execute($nome) || die print('Não foi possivel adicionar o usuário.');
&desconectar;

if ($ref == 1) {
print "usuario adicionado com sucesso";
} else {
print "não foi possivel adicionar o usuario";
}



------ Alterar

#!/usr/bin/perl

require 'lib.pl';

print "Content-Type: text/html\n\n";

$id = '00000001';
$nome_novo = 'Jaum da roça';

&conectar;
$sth = $dbh->prepare(q{
        UPDATE usuarios SET nome = ? WHERE id = ? LIMIT 1
});
$ref = $sth->execute($nome_novo,$id) || die print('Não foi possivel alterar o usuário.');
&desconectar;

if ($ref == 1) {
print "usuario alterado com sucesso";
} else {
print "não foi possivel alterar o usuario";
}



------ Ler

#!/usr/bin/perl

require 'lib.pl';

print "Content-Type: text/html\n\n";

$id = '00000001';

&conectar;
$sth = $dbh->prepare(q{
       SELECT nome FROM usuarios WHERE id = ?
});
$sth->execute($id) || die print('Não foi possivel conectar ao banco de dados para listar o usuario.');
$ref     = $sth->fetch;
$nome    = $ref->[0];
$sth->finish;

if ($nome ne '') {
print "$nome";
} else {
print "Usuario não existe ou id incorreta.";
}

print "<br><br><br>Ou<br><br><br>";

$sth = $dbh->prepare(q{
       SELECT nome FROM usuarios ORDER BY id DESC
});
$sth->execute || die print('Não foi possivel conectar ao banco de dados para listar o usuario.');
$conta = 0;
while($ref = $sth->fetchrow_hashref()){
print "$ref->{'nome'}";
$conta++;}
if ($conta == 0) { print "Sem usuarios"; }
&desconectar;



------ Apagar

#!/usr/bin/perl

require 'lib.pl';

print "Content-Type: text/html\n\n";

$id = '00000001';

&conectar;
$sth = $dbh->prepare(q{
        DELETE FROM usuarios WHERE id = ?
});
$ref = $sth->execute($id) || die print('Não foi possivel apagar o usuário.');
&desconectar;

if ($ref == 1) {
print "usuario apagado com sucesso";
} else {
print "não foi possivel apagar o usuario";
}




#637402 Pedido De Tutorial

Posted by prix on 11/09/2005, 22:48 in Artigos, Dicas e Tutoriais de CGI/Perl

Bom aqui nao eh bem um forum para fazer pedidos de tutoriais nao era mais para que os usuarios criarem e adicionarem aqui tutoriais. mas ai vai:

Acho que esses 2 arquivos abaixo não precisam de introdução neh ?

$database = 'nome_do_banco_de_dados';
$db_host  = 'endereço_do_host_do_mysql';
$db_admin = 'nome_do_usuario_que_se_conecta_ao_banco_de_dados';
$db_senha = 'a_senha_do_usuario_acima_dito';


use DBI;
require 'db.pl';
sub conectar {
$dbh = DBI->connect("DBI:mysql:database=$database;host=$db_host","$db_admin","$db_senha")
|| die print('Não foi possivel abrir a conexão.');
}

sub desconectar {
$dbh->disconnect || die print('Não foi possivel terminar a conexão.');
}




#637398 Sistema De Busca

Posted by prix on 11/09/2005, 22:28 in Artigos, Dicas e Tutoriais de CGI/Perl

bom isso eh referente a fatores de vinculos ou sem vinculos.

sao usados para comparações mais complexas.

por exemplo (do jeito que esta, ira resultar em diferente, se vc mudar o $variavel para teste, ira dar igual.):

$variavel = 'asd';

print "Content-Type: text/html\n\n";

if ($variavel !~ /teste/i) {
print "diferente\n";
} else {
print "igual\n";
}


porem se voce tirar o ~ que nem fez no =~ ele nao ira funcionar.

outro exemplo(neste exemplo a variavel sendo teste ele vira igual sendo outro valor ela nao se da por igual, e se voce colocar a variavel com o valor teste e tirar o ~ do =~ ele da diferente, logo o seu codigo esta errado:

$variavel = 'asd';

print "Content-Type: text/html\n\n";

if ($variavel =~ /teste/i) {
print "igual\n";
} else {
print "diferente\n";
}


Por que da errado ? por que ela inclui um valor extra na pesquisa um valor nao real que na comparação vira um erro.



#637393 QueryString

Posted by prix on 11/09/2005, 22:13 in Artigos, Dicas e Tutoriais de CGI/Perl

nao entendi o que voce quis dizer tenta explicar um pouco melhor ou dar um exemplo do que quer.



#637391 Ip

Posted by prix on 11/09/2005, 22:12 in Artigos, Dicas e Tutoriais de CGI/Perl

Pelo que vi o codigo ta certo porem se voce tentar se conectar via local ele nao mostra seu ip.

Testei o codigo pelo perl localmente e pelo meu servidor de hospedagem.

Pelo servidor de hospedagem ele funciona 100% do jeito que ta no 1 topico.



#637389 Informações Do Usuário...

Posted by prix on 11/09/2005, 22:07 in Artigos, Dicas e Tutoriais de CGI/Perl

recomendo que pegue a versao 5.8 do active perl intao.

5.8.7.813

ftp://ftp.activestate.com/ActivePerl/Wind...-x86-148120.msi



#637383 Ip

Posted by prix on 11/09/2005, 22:02 in Artigos, Dicas e Tutoriais de CGI/Perl

Acabei de falar voce tem que preencher com a lista de ips referente ao brasil, aqui nao tem todas e dei os exemplos de como voce pode adicionar os ips!



#637379 Sistema De Busca

Posted by prix on 11/09/2005, 21:55 in Artigos, Dicas e Tutoriais de CGI/Perl

incorreto, /$descr/i eh um fator para comparação , deve-se usar
=~

ficando:

if($key2 =~ /$descr/i){

o erro ai eh que o ~ deve vir depois e nao antes do =




IPB Skin By Virteq