Dr. Arne JachensDr. Arne Jachens

Heizungssteuerung Web-Interface

HV_Admin_Login

HV_Admin_Login

Function to login/logoff the user.
Special feature is the increasing delay if someone should try to steal the password.

<?php 
/* published under GPL www.gnu.org/licenses/gpl.html */
function HV_Admin_Login(){
  include_once("HV_config.php");
    global $debug;
  /* log off */
  if (isset($_POST['logout']) AND $_POST['logout']=="logout"){
    $_SESSION['IamGod']=FALSE;
  }
  /* log in */
  if (isset($_POST['login'])  AND $_POST['login'] =="login" AND $_POST['pwd_tmp']==$adminpwd){
    $_SESSION['IamGod']=TRUE;
  }
  /* if someone tries to steal the login, increase delay */
  if(!isset($_SESSION['IamGod']) OR !$_SESSION['IamGod']){
    if(isset($_SESSION['loginCount'])){
      $_SESSION['loginCount']++;
    }else{
      $_SESSION['loginCount']=1;
    }
    if($_SESSION['loginCount']>0){
      $time=time();
      time_sleep_until($time+$_SESSION['loginCount']);
    }
    if(isset($_GET['mode'])){
      $log="&mode=".$_GET['mode']."&file=".$_GET['file'];
    }else{
      $log="";
    }
    $form = "\n\n <p></p><form action='?what2do=menu".$log."' method='POST'>
              <p align='center'>";
    $form.= "<input class='formField' name='pwd_tmp' type='password' size='10' maxlength='10'>
             <input class='formField' name='login' type='submit' value='login'>";
    $form.= "</p></form>";
  }else{
    $_SESSION['loginCount']=0;
    $form = "\n\n <p></p>\n";
    $form.= "<div style='text-align:center;'>\n";
    $form.= "<ul style='text-align:left; font-size:xx-large;'>";
    $form.= "<li><a href='index.php?what2do=menu'>Control Panel</a></li>\n";
    $form.= "<li><a href='index.php?what2do=showServiceLog'>Service Intervall</a></li>\n";
    $form.= "<li><a href='index.php?what2do=editParams'>Parameter</a></li>\n";
    $form.= "</ul>\n";
    $form.= "<form class='switches' action='?what2do=login' method='POST'>\n";
    $form.= "<p><input class='formField' name='pwd_tmp' type='hidden' value='logout'>
             <INPUT class='formField' name='logout' TYPE=submit VALUE='logout'></p>\n";
    $form.= "</form>\n";
    $form.= "</div>\n";
  }


    if($debug){
        echo "<p><aj>HV_Admin_Login( )</aj></p>\n";
    }
  
  return $form;
}
?>

Index of Library

1EM_editParameter.php
2EM_handleJSON.php
3EM_plot.php
4HV_Admin_Login.php
5HV_colorMap.php
6HV_composeH2Oplot.php
7HV_config.php
8HV_H2Olevel.php
9HV_readOperationState.php
10HV_restart.php
11HV_serviceLog.php
12HV_setParameters.php
13HV_showHouse.php
14HV_showLog.php
15HV_showWeatherForecast.php
16HV_TempCal.php
17index.php
18readFilenames.php
19readNamedData.php

Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden.