Nie chcialem tego wrzucac bo troche tego jest no ale coz :
nie wiem juz czemu nie moze mnie zautoryzowac doczepilem sie ze to bedzie cos z syntaxami jakos ;/ poprawcie mnie jesli sie myle
Sentry.php
<?php
class sentry {
var $loggedin = false;
var $userdata;
function sentry(){
header("Cache-control: private"); }
function logout(){
return true;
}
function checkLogin($user = '',$pass = '',$group = 10,$goodRedirect = '',$badRedirect = ''){
require_once('DbConnector.php');
require_once('Validator.php');
$validate = new Validator();
$loginConnector = new DbConnector();
if ($_SESSION['user'] && $_SESSION['pass']){
if (!$validate->validateTextOnly($_SESSION['user'])){return false;}
if (!$validate->validateTextOnly($_SESSION['pass'])){return false;}
$getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$_SESSION['user']."' AND pass = '".$_SESSION['pass']."' AND thegroup <= ".$group.' AND enabled = 1');
if ($loginConnector->getNumRows($getUser) > 0){
if ($goodRedirect != '') {
}
return true;
}else{
$this->logout();
return false;
}
}else{
if (!$validate->validateTextOnly($user)){return false;}
if (!$validate->validateTextOnly($pass)){return false;}
$getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$user."' AND pass = PASSWORD('".$pass."') AND thegroup <= '".$group."' AND enabled = 1");
$this->userdata = $loginConnector->fetchArray($getUser);
if ($loginConnector->getNumRows($getUser) > 0){
$_SESSION["user"] = $user;
$_SESSION["pass"] = $rowUser['pass'];
$_SESSION["thegroup"] = $$rowUser['thegroup'];
if ($goodRedirect) {
}
return true;
}else{
if ($badRedirect) {
header("Location: ".$badRedirect) ; }
return false;
}
}
}
}
?>
Login.php
<?php
require_once("../includes/Sentry.php");
$sentry = new Sentry();
if ($_POST['user'] != ''){
$sentry->checkLogin($_POST['user'],$_POST['pass'],10,'welcome.php','failed.php');
}
if ($HTTP_GET_VARS['action'] == 'logout'){
if ($sentry->logout()){
echo '<center>You have been logged out</center><br>'; }
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="25%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000066">
<tr>
<td align="center" bgcolor="#000066"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Login</strong></font></td>
</tr>
<tr>
<td bordercolor="#FFFFFF"><form name="form1" method="post" action="login.php">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
User:
<input type="text" name="user">
</font></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Pass:
<input type="password" name="pass">
</font></p>
<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" name="Submit2" value="Submit">
</font></p>
</form>
<div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="login.php?action=logout">Logout</a> </font></div>
</td>
</tr>
</table>
</body>
</html>
welcome.php
<?php
require_once('../includes/Sentry.php');
$theSentry = new Sentry();
if (!$theSentry->checkLogin(2
) ){ header("Location: login.php"); die(); } ?>
<html>
<head>
<title>Welcome</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
Welcome to the admin area
</body>
</html>
co do bazy danych:
INSERT INTO `cmsgroups` VALUES (1, 'Admin');
INSERT INTO `cmsgroups` VALUES (2, 'Editors');
INSERT INTO `cmsgroups` VALUES (3, NULL);
INSERT INTO `cmsgroups` VALUES (4, NULL);
INSERT INTO `cmsgroups` VALUES (5, NULL);
INSERT INTO `cmsgroups` VALUES (6, NULL);
INSERT INTO `cmsgroups` VALUES (7, NULL);
INSERT INTO `cmsgroups` VALUES (8, NULL);
INSERT INTO `cmsgroups` VALUES (9, NULL);
INSERT INTO `cmsgroups` VALUES (10, 'Anonymous');
CREATE TABLE `cmsusers` (
`ID` int(4) UNSIGNED NOT NULL AUTO_INCREMENT,
`user` varchar(40) DEFAULT NULL,
`pass` varchar(20) DEFAULT NULL,
`thegroup` int(4) DEFAULT '10',
`firstname` varchar(20) DEFAULT NULL,
`surname` varchar(20) DEFAULT NULL,
`enabled` int(1) DEFAULT '1',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
INSERT INTO `cmsusers` VALUES (1, 'admin', '*4ACFE3202A5FF5CF467', 1, 'Mr', 'Admin', 1);
haslo i uzytkownik to admin : wszyskto jest encryptowane przy uzyciu PASSWORD
jednak nie autentykuje administratora wogole ;/ - dzieki za pomoc i sory ze tak dlugi ten post z tym kodem ;/