ik ben laatst begonnen met perl en ik kom nu al op een fout,
dit programma zou moeten raden wat ik intyp maar hij zegt altijd dat ik "weet" heb ingetypt maar dat doe ik helemaal niet. weten jullie misschien wat fout is?
alvast bedankt.Code:@brute = ("weet", "niet", "wat", "fout", "is"); $times = 0; print "name\n"; $name = <>; start: if ($name == "$brute[$times]") { print "je typte $brute[$times]"; } else { my $times +1; goto start; }
nee ik gebruik het niet voor foute doeleinden, ga alleen proberen of ie met een woorden bestand mn eigen wachtwoord kan kraken dan kan ik mn eigen website beveiligen.
Nooit een goed idee om je eigen beveiliging te testen. Laat dat een ander doen.
Trouwens in deze opzet gaat je programma alleen een woordenlijst testen. Dat is zowat de slechtste manier om je beveiliging te testen. Tenminste ik neem aan dat je een beetje zinnig wachtwoord kiest als beveiliging. Dat staat niet in de lijst, want die heb je namelijk zelf gemaakt. Dus de logica om dat nog eens geautomatiseerd te testen ontgaat me.
aa joh ik zie wel maar weet iemand wat ik fout doe want ik kan anders ook niet verder met andere progjes.
Laatst aangepast door sharq : 26 november 2011 om 21:01
Ik gok, aangezien ik nog geen ervaring met Perl heb, dat er geen quotes rond '$brute[$times]' moeten. Zo dus:maar hij zegt altijd dat ik "weet" heb ingetypt maar dat doe ik helemaal niet. weten jullie misschien wat fout is?
CPP Code:
1 if ($name == $brute[$times])
Ook heb je helemaal geen goto nodig. Je kan gewoon een for-loop schrijven die alle elementen afgaat. Iets als:
CPP Code:
1 2 3 4 5 6 7 for ($index = 0; $index < N; $index++) { if ($name == $brute[$index]) { // wachtwoord gevonden! } }
Laatst aangepast door CoD_NL : 29 november 2011 om 06:51 Reden: typo
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
jee bedankt he, ik wist niet dat een for loop steeds opnieuw begint (maar ben ook net begonnen met perl. ik zal het proberen.
ik heb het geprobeert maar het lukte niet echt dus kan je me iets meer helpen?![]()
In mijn voorbeeld had je $N (was het dollarteken vergeten) uiteraard wel eerst aanmaken een een waarde geven. Een voorbeeld dat zou moeten werken (niet getest) is het volgende:
CPP Code:
1 2 3 4 5 6 7 8 9 10 @brute = ("weet", "niet", "wat", "fout", "is"); $name = "is"; foreach (@brute) { if ($name == $_) { // wachtwoord gevonden } }
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
bedankt ik ga het uitproberen (zal wel werken).