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
Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden.