Acces securise : session membre : uniquement en php

Description

Vous trouverez dans le zip 7 fichiers
un index un fichier log un fichier secure et deux repertoires contenant chacun deux fichiers

le principe est simple une identification par nom d'utilisateur et mot de passe
le traitement des informations par le fichier log
puis l'acces au donnees

un id est genere et sert de securite celui mis dans l'exemple et peut etre un peu leger mais a chacun de creer un nombre ou un mot qui varie mais que l'on peut genere plusieurs fois pendant une duree (determinee par l'algo ki genere l'id si dependant de heure --> en heure , ... etc)

Ici l'ip du client, l'ip du serveur et la date sont pris en compte par une simple addition a vous de creer quelquechose de plus performant.......

Les trois bouts de codes interessants:

Source / Exemple :


//dans le fichier log

$ipserv = $_SERVER['HTTP_HOST'];//l'ip du serveur
$ipclient = $_SERVER['REMOTE_ADDR'];//l'ip du client
$id = (($ipclient*strftime('%d.%m.%Y')+$ipserv)*1000000);//creer le calcul que vous voulez tant kil varie suffisamment

if(!empty($_POST['user']))//verif d'existence de la variable
{
	$user = $_POST['user'];
	$url = $user.'/index.php?id='.$id;//creation de la destination

	if(!empty($_POST['pass']))//verif d'existence de la variable
	{
		$pass = $_POST['pass'];
		
		if($user == 'test')//pour le premier utilisateur
		{
			if($pass != 'test')
				Header('Location: index.php?error=fo');//renvoi lerror fo a lindex
			else
				Header('Location: '.$url);
		}
		else if($user == 'test2')//pour le deuxieme
		{
			if($pass != 'test2')
				Header('Location: index.php?error=fo');//renvoi lerror fo a lindex
			else
			{
				Header('Location: '.$url);
			}
		}
		else
			Header('Location: index.php?error=fo');//renvoi lerror fo a lindex
	}
	else
		Header('Location: index.php?error=padpass');//renvoi lerror padpass a lindex
}
else
	Header('Location: index.php?error=paduser');//renvoi lerror paduser a lindex

//dans un fichier secure.php par exemple

$ipserv = $_SERVER['HTTP_HOST'];//l'ip du serveur
$ipclient = $_SERVER['REMOTE_ADDR'];//l'ip du client
$id = (($ipclient*strftime('%d.%m.%Y')+$ipserv)*1000000);//creer le calcul que vous voulez tant kil varie suffisamment

$url = "../";

if(!empty($_GET['id']))//verif d'existence de la variable
{
	if($_GET['id'] != $id)//renvoi si id faux
		header('Location: '.$url);
}
else
	header('Location: '.$url);//renvoi si pas d'id

//chaque page a protoge doivent posseder le code (en haut c mieux)
<?
include('secure.php');//gerer la localisation de secure.php a partir de du fichier ou vous ecrivez cette ligne
?>
//pour les acces a d'autres pages du meme compte

a href='index1.php?id=<? echo $id; ?>'>test a l'interieur d'un compte</a>

//important car si certaines pages ne sont pas proteges elles sont donc accessible en piquant l'url et si le ?id=<? echo $id; ?> est oublie on se fait jete

Conclusion :


J'espere que mes explications sont claires si vous voulez des precisions sur ce code ecrivez des commentaires ou envoye moi un message je repondrais...

Attention car le fichier secure.php peut etre facilement exploiter peut etre c'est plus lourd mais plus sur de mettre le code dans chaque page et pas d'include

Si certains trouvent cela leger je suis interesse par leur methode pour detourner cette securite et aller voir sur http://www.alexscott.cjb.net/vos_pages_persos/ piquer des mots de passes ou des noms d'utilisateurs ou envoyer moi l'algo de l' id cela me permettra si vous m'expliquer votre methode d'afiner ce systeme..........

Je ne dis pas que ce systeme est le mieux mais il a l'avantage d'etre essentiellement en php cela est fait pour des acces assez restreint pour un nombre d'utilisateur pas tres important sinon le fichier log devient vite enorme et l'acces hyperlent!!!!!!!

alexscott

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.