- Fórum WMO
- → Wilton Paulo's Content
Wilton Paulo's Content
There have been 15 items by Wilton Paulo (Search limited from 25/04/2023)
#681890 Probleminha Com Forbidden...
Posted by Wilton Paulo on 02/01/2006, 11:10 in CGI/Perl
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
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
#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
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
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
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
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
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
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
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
Eu entendi o caso do time, é uma boa e to pensando em implementar.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.
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
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
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
perlcc -o codigo_binario.cgi codigo_texto.cgi
#637733 Phpbb E Mysql
Posted by Wilton Paulo on 12/09/2005, 17:59 in PHP
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.
- Fórum WMO
- → Wilton Paulo's Content
- Privacy Policy
- Regras ·