| [Alb-Net home] | [AMCC] | [KCC] | [other mailing lists] |
List: Web-design[web-design] Nje program i vogel ne PerlEtrit Bardhi etrit at alb-net.comTue Dec 29 12:19:35 EST 1998
Mirdita, siq u kam premtuar me heret, po e dergoj nje program te vogel ne Perl qe e mundeson lidhjen ne nje nyje te caktuar permes ndonje shifre. p.sh. nese deshironi qe te keni ndonje faqe te mshefte, dhe vetem persona qe e dine shifren te kene mundesine te lidhen aty, kjo mund te behet fare lehte nepermjet ketij programi. Nevojiten tre fajlla (apo skeda sipas info-tech ;) - login.html, login.cgi dhe login.db login.html eshte nje skede e shkruar ne HTML te cilen njerezit do t'a shohin ne faqen tuaj, e kjo do t'i thirre skedat tjera, login.cgi dhe login.db. dmth kjo skede i pason vlerat e dy atributeve 'name' dhe 'password' te cilat login.cgi do t'i perdore per te shikuar se a gjinden keto vlera ne skeden tjeter login.db (dmth a do t'ju le te kaloni ne faqen tjeter). login.cgi eshte nje program i shkruar ne Perl. Institucioni i juaj i internetit (ISP komerciale apo shkolla ku e keni lidhjen ne internet) duhet ta kete kompajllerin (si i thuhet kesaj ne shqip?) te instaluar qe te mund ta perdorni. Nese nuk jeni te sigurte, pyetni administratorin tuaj (zakonisht duke derguar e-mail ne root at domain-i i juaj) nese ekziston kompajlleri Perl dhe ku gjindet, pasi qe duhet t'a dini t'a vendosni ne rreshtin e pare te programit. ne rastin tim, shkolla ime e ka kompjallerin ne direktorijumin /usr/local/bin/perl keshtu qe rreshti i pare i programit login.cgi ia fillon me: #!/usr/local/bin/perl ky program i merr dy atributet 'name' dhe 'password' nga login.html dhe e hap nje skede tjeter login.db per te shikuar se a gjinden keto atrubyte ne at skede. skeda login.db i ka nga tre rreshta per cdo person. Rreshti i pare eshte atributi 'name', rreshti i dyte 'password' ndersa i treti 'nickname.' si ne shembullin qe vijon: Etrit Mypassword Mr. Etrit Nese personi e shkruan Etrit si vlere per atributin login ne login.html dhe Mypassword si vlere per password, atehere programi do t'u lejoje te vazhdoni te kaloni ne faqen e re (ne kete rast Manager.html - shiko login.cgi) pasi qe keto vlera gjinden ne login.db duke u pershendetur me rreshtin e trete qe gjindet ne skeden login.db (ne kete rast Mr. Etrit). Nese ato vlera nuk gjinden ne login.db, atehere programi do te kercen ne faqen mainlog.html (shiko login.cgi, rreshti i parafundit). Shpresoj se ky program i thjeshte do t'ju hyje ne perdorim, ndersa nese shihni ndonje gabim apo keni ndonje sugjerim, eshte mire te diskutohet me tutje ne kete liste. Te fala, Etriti. programet: --------------- login.html: --------------- <BODY BGCOLOR = "BLACK" TEXT = "WHITE"> <br> <center><b><h2> Prova per web-design at alb-net.com </h2></center> <form action="login.cgi" method=post> <table border = 0> <tr> <td valign = bottom> <pre> <h5> Login Name: </h5> </td> <td> <INPUT name="name"></td> </tr> <tr> <td valign = bottom> <h5> Password: </h5> </td> <td> <INPUT TYPE="PASSWORD" name="password"></td> </tr> <br> </table> <br> <br> <br> <input type=submit name=submit value="Login"> <input type=submit name=reset value="Reset"> </form> </body> ------------ login.cgi: ------------ #!/usr/local/bin/perl $mailprog = '/usr/sbin/sendmail'; $recipient = 'ebardhi at ic.sunysb.edu'; # Print out a content-type for HTTP/1.0 compatibility print "Content-type: text/html\n\n"; # Keep the curious out. if ($ENV{'REQUEST_METHOD'} ne "POST") { print "<title>Invalid Script Access</title>"; print "<h2>Invalid script access.</h2>\n"; exit; } # Get the input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } &blank_response unless ($FORM{'name'} && $FORM{'password'}); $ok = 0; open (PW, "login.db"); while ($name = <PW>) { $password = <PW>; $nickname = <PW>; chop($name); chop($password); if (($name eq $FORM{'name'}) and ($password eq $FORM{'password'})) { $ok = 1; last; } } close PW; if ($ok == 1) { print "<center><p><h2><br><br>Greetings $nickname! <br><br>Welcome to\n"; print ' <body bgcolor="#000000" text="white"><a href="Manager.html">getCustomizedMenu Cafe.</a>' } else { print "<center><p><h2><br><br>I am sorry $FORM{'name'},<br> but you do not have proper \n"; print "access to <br>getCustomizedMenu Cafe!\n"; print ' <br><br>Back to <body bgcolor="#000000" text="white"><a href="mainlog.html">Main Login Screen.</a>' } ------------ login.db: ------------ Etrit Mypassword Mr. Etrit Arta Shifra Ms. Arta -------------- next part -------------- A non-text attachment was scrubbed... Name: login.cgi Type: application/octet-stream Size: 1462 bytes Desc: not available Url : http://www.alb-net.com/pipermail/web-design/attachments/19981229/7a6cfebb/attachment.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: login.db Type: application/octet-stream Size: 48 bytes Desc: not available Url : http://www.alb-net.com/pipermail/web-design/attachments/19981229/7a6cfebb/attachment-0001.obj -------------- next part -------------- HTML attachment scrubbed and removed
More information about the Web-design mailing list |