Jump to content


Wilton Paulo's Content

There have been 15 items by Wilton Paulo (Search limited from 20/04/2023)


Ordernar por                Order  

#681890 Probleminha Com Forbidden...

Posted by Wilton Paulo on 02/01/2006, 11:10 in CGI/Perl

Então, tá certo, mas dessa forma que você configurou, vai rodar só em /root/cgi-bin.

Supondo que você tenha script em outro diretório, por exemplo /root/seusite/cgi-bin, então terá que escrever a configuração para o novo diretório.

Depois que efetuar a configuração é necessário reiniciar o apache/httpd.



#681739 Probleminha Com Forbidden...

Posted by Wilton Paulo on 02/01/2006, 00:29 in CGI/Perl

Deve modificar o httpd.conf sim, segue abaixo:

Nem todo diretório executa um script perl. Para que um diretório
execute um script, você tem que criar uma diretiva ScriptAlias.

ScriptAlias /site/cgi-bin/ "/var/www/site/cgi-bin/"
<Directory "/var/www/site/cgi-bin/">
Options FollowSymLinks
</Directory>

Você precisa definir a diretiva ExecCGI em um diretório para execução, ou seja:

<Directory /var/www/html/site/cgi-bin>
Options ExecCGI
(outras diretivas)
</Directory>



#680572 Alterar Dados Num Banco De Dados

Posted by Wilton Paulo on 28/12/2005, 21:42 in CGI/Perl

Segue o código

#Pega as informações do banco
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);

#Limpa o arquivo
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);

foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}



#678540 Threads Em Perl

Posted by Wilton Paulo on 23/12/2005, 06:36 in CGI/Perl

Os threads de um mesmo aplicativo, utilizam um espaço de endereçamento de memória comum a todos, isto permite que eles compartilhem dados e recursos do sistema. Ou seja, todos os threads de um servlet podem fazer uso de uma única conexão que foi estabelecida com um banco de dados no momento de inicialização do servlet. Esta conexão permanecerá aberta até que o servlet seja desativado, saia da memória, ou seja ser recarregado.

Como os CGIs são executados em processos distintos para cada acesso do usuário, esta persistência de estado é mais difícil de ser feita, pois ao final do processamento do CGI, seus dados são apagados da memória. Algumas alternativas seriam: utilizar arquivos temporários para armazenar o estado de cada cliente, mapeamento de memória compartilhada entre CGIs. No entanto, isto onera ainda mais a performance pois exige operações explícitas de escrita e leitura em arquivos e acesso direto a memória, o reduz a portabilidade entre sistemas operacionais

- Peguei isso na net, o ideal nesse caso é usar arquivos mesmo e efetuar a leitura no acesso de cada cliente.



#676213 Require "script_auxiliar.pl";

Posted by Wilton Paulo on 19/12/2005, 22:15 in CGI/Perl

Que estranho, aqui ta rodando normal. Eu configurei o apache pra rodar CGI no diretorio /var/www/html/dirdomeusite/cgi-bin/

Cheguei a testar no Fedora 4 e no Slackware 10.1.

Qual o Sistema Operacional você está usando ?



#674628 Require "script_auxiliar.pl";

Posted by Wilton Paulo on 16/12/2005, 22:06 in CGI/Perl

hahah...Descobri como fazer.

Vou explicar exatamente como fiz o teste:

Criei um arquivo chamado libteste.pl, e abaixo segue o conteudo:
#!/usr/bin/perl

sub Rotina_Teste()
{
print "Aqui ficara o menu do meu site\n";
}
1;

Este arquivo funciona como se fosse uma biblioteca e cada instrução pode ser usada nos outros CGIs.

Depois criei o index.pl onde ficara o meu site, a pagina principal, segue o conteudo:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
require "libteste.plc"; # Efetuo a chamada da libteste com o nome já compilado.

&Rotina_Teste; # Chamo a subrotina que esta dentro da "biblioteca", esta vai me trazer o menu.

Tenho o meu index.pl criado e quero agora compilar este arquivo.
No console do linux digito:
#perlcc -o index.cgi index.pl

A minha duvida era para compilar a biblioteca, que não funcionava quando fazia o mesmo comando acima.
Ai conversei com um colega que conhece bem de perl e ele me falou que o comando tem que ser como abaixo, no caso de ser uma biblioteca ou chamada de script.

#perlcc -B -o libteste.plc libteste.pl

Ele disse que o arquivo tem que ser compilado com o formato de compilação bytecode.

Mas agradeço a ajuda.



#674547 Require "script_auxiliar.pl";

Posted by Wilton Paulo on 16/12/2005, 18:30 in CGI/Perl

Acho que vocês num estão entendendo.

Imagina se tenho 10 arquivos com códigos cgi.

Cada arquivo desse chama um menu, como se fosse uma biblioteca, e dessa forma coloco as variaveis desse menu no script_auxiliar.

Por exemplo, um menu contendo os links do site.

Quando precisar chamar o menu, apenas chamo a subrotina que fica no script_auxiliar.

Conteudo do script_auxiliar:
sub Menu {
print qq^Aqui coloco os links do menu^;
}
1;

Conteudo dos outros arquivos cgis do site:
- arquivo.cgi
require "script_auxiliar.pl"
&Menu; # Esta linha de comando chama o menu.

print "Mostra o resto da pagina";

- arquivo2.cgi
require "script_auxiliar.pl"
&Menu; # Esta linha de comando chama o menu.

print "Mostra o resto da pagina";

E pior ainda, não tenho apenas o menu, tenho dezenas de variaveis que preciso utilizar.

Então não posso compilar todos os meus arquivos com o código desse auxiliar, se fizer isso, meu código vai ficar muito grande e eu to tentando deixar no tamanho minimo possivel.



#673842 Require "script_auxiliar.pl";

Posted by Wilton Paulo on 16/12/2005, 06:37 in CGI/Perl

Pessoal,

Tenho a seguinte duvida.

Quando tenho um codigo em perl, exemplo meu_script.pl e quero compilar este codigo.

executo no linux o comando:
perlcc -o meu_script.cgi meu_script.pl

Então, meu script ficara compilado com o nome meu_script.cgi.

O problema é que uso chamadas de outros scripts e uso as variaveis deles, por exemplo:
require "script_auxiliar.pl";

Nao posso compilá-los, por se o fizer, não posso chamar para uso de variaveis.

Alguem tem alguma sugestão ou a solução para o problema ?
O que eu quero é compilar também o script_auxiliar.pl.



#654554 Dados De Um Array

Posted by Wilton Paulo on 25/10/2005, 23:24 in CGI/Perl

Pessoal,

Alguem sabe como colocar e retirar os dados de um array ?

Pra retirar eu faço assim, mas acho que deve ter algo mais facil, esse ai é sofrido:

@frutas = ("banana","maça""aranja";

foreach (@frutas){
if ($_ eq "banana") {
next;
}
}

Agora pra colocar eu não sei bem...Agradeço antecipadamente.



#654551 Passo A Passo Para Criar Um Sistema De Login

Posted by Wilton Paulo on 25/10/2005, 23:17 in CGI/Perl

Ok....entendi, mas eu quero mesmo é usar acesso via IP.
Não é Lan House.

Eu to fazendo um firewall autenticado.

Por exemplo.

Tenho um linux rodando o Apache na porta 80

Ai carrego o apache numa outra porta também por exemplo a porta 81.

Então peço para o usuário se logar na porta 81 e quando se logar...automaticamente o script vai liberar a regra para acessar a porta 80 ou qualquer outra porta que ele precisar usar.

Então o acesso por IP já é interessante.

Ao logar, guardo as informações em um arquivo, e no cliente onde aparece a tela de autenticação, coloquei uma tag no html para ficar dando refresh de 10 em 10 segundos que mantem a conexão.

Não sei se é uma boa...o que vcs acham ?...eu pensei em usar socket, mas eu não conheço nada hehehe.



#654107 Passo A Passo Para Criar Um Sistema De Login

Posted by Wilton Paulo on 24/10/2005, 18:52 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.



#653663 Passo A Passo Para Criar Um Sistema De Login

Posted by Wilton Paulo on 23/10/2005, 09:00 in CGI/Perl

Então...tive uma idéia, pensando neste seu exemplo.

Seguinte:

Quando o usuário se logar, automaticamente grava-se um arquivo com o nome do usuário e o Ip dele, e a cada página aberta, poderia chamar uma subrotina que verifica se o Ip está na lista de usuários logados e até dar permissões a cada usuário.

lista.txt
usuario1|ip_do_usuario|acesso_total
usuario2|ip_do_usuario|acesso_restrito

#!/usr/bin/perl

open (ARQ, "lista.txt"); #abre arquivo de dados
@lista = <ARQ>;  # joga os dados num array
close (ARQ); # fecha arquivo
$remote_ip = $ENV('REMOTE_ADDR'); #pega o ip de quem tentou acessar

$acesso_liberado = "nao"; #seta um valor padrao para negar o acesso
foreach (@lista){ #inicia um loop no arquivo
chop; #retira espaços em branco
($nome,$ip_user,$perm_acesso) = split(/\|/,$_); #define os campos
      if ($remote_ip eq $ip_user) { #chama if se o ip remoto for igual ao de algum usuario
           $acesso_liberado = "sim"; #libera o acesso setando a variavel
           exit; # sai do loop
      }
      else { $acesso_liberado = "nao" ; #continua o loop com valor "nao" no acesso
      }
}
 
if ($acesso_liberado eq "nao") {
   print "pagina nao pode ser aberta";
}
else {
   print "pagina pode ser aberta";
}


Obs.: Moderadores !!! Por favor apaguem a mensagem anterior, está mal formatada.



#653576 Passo A Passo Para Criar Um Sistema De Login

Posted by Wilton Paulo on 22/10/2005, 19:50 in CGI/Perl

Cara...é o seguinte, estou fazendo algo parecido aqui também, mas gostaria de bloquear o acesso a qualquer arquivo de um diretório.
Na verdade é fazer um sistema de autenticação parecido com o htaccess do apache, mas que ter uma opção de ter os usuários online também.

Alguma idéia de como fazer?



#653568 Criptografar Código Fonte

Posted by Wilton Paulo on 22/10/2005, 19:23 in CGI/Perl

Cara...num sei se é isso, mas no linux, se quiser compilar o código, execute este comando:
perlcc -o codigo_binario.cgi codigo_texto.cgi



#637733 Phpbb E Mysql

Posted by Wilton Paulo on 12/09/2005, 17:59 in PHP

Pessoal,

Não sei se é o tópico correto, podem mover se quiserem.
Gostaria da ajuda de vocês para adicionar um usuário no phpbb atravez do banco de dados Mysql.

Diretamente no forum como adminitrador não há problemas, mas o que eu quero é pegar uma base de dados num arquivo texto que contem o nome do usuário, e apartir dai adicionar o usuario com essa informação.

Uso o Sistema Operacional Slackware Linux 10.1, PHP 4.3.10, Apache 1.3.33 e Mysql 4.1.14.

Desde já agraço.




IPB Skin By Virteq