Usando ARGV como login

Publicado por Jonatan Gomes (última atualização em 26/10/2010)

[ Hits: 6.696 ]

Homepage: Em construção xD

Download loginargv.pl




Bom galera, eu tive um enorme problema para entender ARGV porque não conseguia encontrar nenhum tutorial ou apostila mencionando o que era claramente parâmetros --', mas graças a uns "linuxer's", com muita paciência eu consegui  compreender, então fiz esse script simples usando ARGV como o Login, simples mas é  grandinho xD, exemplo: você se cadastra e usa .txt para guardar os dados e para logar é só iniciar novamente o script usando parâmetros para seu login, exemplo:

$ perl loginargv.pl R4$T4 123456

Neste  caso meu login é R4$T4 e minha senha é 123456, entenderam a jogada?


__R4$T4__

  



Esconder código-fonte

#!/usr/bin/perl

$ver="v. 1.0";
$so;
# Variaveis # Maioria tudo <STDIN>...
$loginW;
$senhaW;
@dadosW;
@dadosC;
$nomearquivoW;
$pasta;
$clear;
$reg;
$confirma;
##_____________________________________________##


$#ARGV+=1; # Porque acrescentar 1 no total de Paramentros ARGV?
           # Porque o numero inicial de paramentros ARGV e -1.
print "\n+---------------[©R4\$T4]---------------+\n";
print "|-------------------------------$ver--|\n";
print "|                                       |\n";
print "|     Cadastro/login usando ARGV        |\n";
print "|                                       |\n";
print "|       -===Coded By R4\$T4 ===-         |\n";
print "+---------------------------------------+\n\n";

print "Informe seu Sistema Operacional:\n\n";

print "1- Linux\n"; #porque isso? simples porque usei comandos SYSTEM e tem variações entre os dois S.Os

print "2- Ruindows\n";


chomp ($so= <STDIN>);
if (($so > 2) || ($so < 1)){
print "Se voce colocar 3,4,5... como opcao obvio que vai dar erro, sem ignorancia\n";
exit;
}

if ($#ARGV > 0) #se tiver algum parametro qualquer vai ser considerado login
    {
       if ($so == 1)
          {
         system ("clear");
         
         if (!-e "$ARGV[0]$ARGV[1].txt"){
           print "Usuario nao cadastrado\n";
           exit;
           }
            open($BD, "<$ARGV[0]$ARGV[1].txt");
           
           
           while (<$BD>){
           $confirma= $_;
           }
           close ($BD);
           
           @dadosC= split (/:/,$confirma);
           
           print "Hello! $dadosC[0] senha $dadosC[1]\n";
           print "Teve competencia para realizar um cadastro\n";
           print "voce e foda! linuser";
           
    }
    
    if ($so == 2)
          {
          system ("cls");
           if (!-e"c:/$ARGV[0]$ARGV[1].txt"){
           print "#________Usuario nao cadastrado ou Login/senha incorreto[a]________# \n";
           exit;
           }
            open($BD, "<c:/$ARGV[0]$ARGV[1].txt")  ;
           while (<$BD>){
           $confirma= $_;
           }
           close ($BD);
           
           @dadosC= split (/:/,$confirma);
           
           print "\tHello! $dadosC[0] senha $dadosC[1]\n";
            print "\tTeve competencia para realizar um cadastro\n";
            print "\n\n\t####Mas pelo amor de Linus Troque esse S.O.###";
           
    }
 }
         
           
           
           
           
           




if ($#ARGV ==0 ) #se não tiver nenhum parametro obviamente sera considerado cadastro
{


if ($so == 1)
    {
   system ("clear");
      $pasta="";
      $clear="clear";
  }    

if ($so ==2)
   {
   system ("cls");
   $pasta= "c:/";
   $clear= "cls";
 }
  system ("$clear");
 print "\n+---------------[©R4\$T4]---------------+\n";
print "|-------------------------------$ver--|\n";
print "|                                       |\n";
print "|     Cadastro/login usando ARGV        |\n";
print "|                                       |\n";
print "|       -===Coded By R4\$T4 ===-         |\n";
print "+---------------------------------------+\n\n";
sleep 3;




      
      print "Coloque seu Login:\t";
      chomp ($loginW= <STDIN>);
      
      print "\nColoque sua senha:\t";   
        chomp ($senhaW= <STDIN>);
      
      push(@dadosW, $loginW,$senhaW);
      
      $nomearquivoW= $loginW;
      $nomearquivoW.= $senhaW;
      
      $reg= join(":",@dadosW);   #pra quem nao sabe "join" imprime no documento os elementos da matriz   
    open (BD, ">$pasta$nomearquivoW.txt"); # com ":" entre eles e é bem útil para usar "split" para separar
                                          #fica mais fácil manipular os dados.
     
   print BD "$reg";
     
   close (BD); 

if (-e  "$pasta$nomearquivoW.txt"){
print "\n\n\n\____Cadastro Efetuado com SUCESSO!!!____ \n";
sleep 2;

system ($clear);

print "###Agora reinicie o programa usando parametros ARGV como login###\n"; 
print "\n\n\nExemplo \"perl loginargv.pl rasta 123456\" ";

}   
#Nota: acho que está meio bagunçado porem não usei nada incompreencível
#então creio que será de fácil análise.
#__R4$T4__


      
      
}

Scripts recomendados

Script para adicionar e remover usuários no IMSPECTOR

Alterar senha no shadow

Compara colunas

Contagem de linhas em Perl (= wc -l)

Adiciona-Altera senhas/usuarios no sistema


  

Comentários
[1] Comentário enviado por /bin/laden em 30/10/2010 - 00:55h

Windows only!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts