使用Perl和CGI进行Web登录

时间:2016-08-29 14:35:35

标签: html css twitter-bootstrap perl cgi

我必须使用.cgi个文件做一个网站,所以我有我的index.cgi:

#!/usr/bin/perl
use CGI qw/:standard/;
use HTML::Template;
use CGI::Session;
use CGI::Carp qw(fatalsToBrowser);
require "cgi-bin/web_base.pl";

my $q = CGI->new();
my $s = CGI::Session->new($q);

print header();

print my_topbar();

print login_form();
print footer();
  

“web_base.pl”包含打印html代码的函数

evrything正在显示corectly等。但我对登录表单一无所知:/

这是我的登录表单输入:

<div class="container" align=center>
    <form id="form_id" method="post" name="myform">
        <font color="white">
            <label>Username :</label>
            <input type="text" class="form-small" name="username" id="username"/>
            <br>
            <label>Password :</label>
            <input type="password" class="form-small" name="password" id="password"/>
            <br>
            <input type="button" class="form-small btn btn-default" value="Login" id="submit" onclick="validate()"/>
        </font>
    </form>

和我的JS登录脚本(他包含在标题中):

function validate(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if ( username == "moomoo" && password == "foobar"){
alert ("Login successfully");
window.location = "success.cgi"; // Redirecting to other page.
return false;
}
else
{
alert("Error: Invalid username or password. Try again or contact support.");
return false;
}
}

所以,我的问题是,如何让我的网站验证用户是否每个页面都登录?并改变一些事情,如显示断开按钮等...

我希望有人能帮助我&lt; 3我在1周前开始这样做:')

1 个答案:

答案 0 :(得分:0)

首先你的方法非常不安全。

我发现此链接应该让您走上正确的轨道,它不会use HTML::Template;,但您可以为您的代码添加它。 login and logout of sessions in 2 cgi scripts