begin process at 2010 02 10 12:45:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > ESPACE MEMBRE FICHIER TEXTE (NO MYSQL)

ESPACE MEMBRE FICHIER TEXTE (NO MYSQL)


 Information sur la source

Note :
9,36 / 10 - par 28 personnes
9,36 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :07/08/2004 Date de mise à jour :13/09/2004 05:00:19 Vu / téléchargé :11 482 / 2 285

Auteur : GRenard

Ecrire un message privé
Site perso
Commentaire sur cette source (96)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Espace membre sans mySQL permettant de protéger certaines pages.

Compatible PHP4, PHP5.


 Conclusion

Pour vous Identifier la premiere fois, vous devez mettre les informations suivantes :
Login : Administrator
Pass : [aucun]

N'hésitez pas à me laisser quelques commentaires !
## ATTENTION CORRIGER VOS SCRIPTS AVEC LA NOUVELLE VERSION !!! DU 11 SEPTEMBRE !
Pour protéger une page, il faut mettre avant include("header.php");
define("LEVEL",1);
Pour qu'elle ne soit accessible que par l'administrateur, il faut mettre :
define("LEVEL",2);

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

09 août 2004 20:00:35 :
Version corrigée suite au bug trouvé lors du changement de mot de passe... (corrected file : header.php)
10 août 2004 04:02:43 :
Remise de pass.dat à zéro
11 septembre 2004 13:38:43 :
D'après jpabeille13, j'ai fait une correction ! Sécurité absolue la :P
11 septembre 2004 13:43:27 :
Petite Explication comment protéger une page.
13 septembre 2004 05:00:23 :
Correction LEVEL. Fonctionne parfaitement (enfin je l'espère ;))

 Sources du même auteur

Source avec Zip Source avec une capture LECTURE/ÉCRITURE DE TAGS ID3 VERSION 1 ET VERSION 2
Source avec Zip GÉRER LES ÉCHAPPEMENTS DE CARACTÈRES SUR TABLEAUX MULTIDIMEN...
Source avec Zip Source avec une capture PROJECT SELECTOR (SÉLECTION FACILE DE PROJET AVEC APACHE) ET...
Source avec Zip Source avec une capture STATISTIQUES DE VOTRE PROJET (NOMBRE DE DOSSIERS, FICHIERS, ...
Source avec Zip Source avec une capture AFFICHAGE TABLEAU AVEC TEMPLATE CLASSE

 Sources de la même categorie

ALGORITHME DE CÉSAR SUR LA TABLE ASCII par Nementon
Source avec une capture CODEC D'OBFUSCATION DE LIEN HTML (PHP5) par masternico
GÉRER UN .HTPASSWD par coockiesch
Source avec Zip SERSESSIONS > CLASS PHP5 POUR GERER LES SESSIONS SIMPLEMENT par Astalavista
Source avec Zip PROTECTION CONTRE LES FAILLES CSRF : CROSS SITE REQUEST FORG... par aKheNathOn

Commentaires et avis

Commentaire de tungsten180 le 08/08/2004 19:25:43

Salut,

il y a un problème au niveau du login : il faut entrer un mot de passe. Je crois que tu as laissé un mot de passe hâché dans le pass.dat

Administrator d41d8cd98f00b204e9800998ecf8427e 1

Tungsten

Commentaire de zouloux le 09/08/2004 03:09:04

vrement mega bravo de la mort a fond !! tu ma sover la vie car sur mon site CT pareil mé sans protection et jV kelkes problemes G du tout areter !!! tou marche super meme sur mon pti serveur et sur free et G plus de problemes.
MERCI !

Commentaire de kegi le 09/08/2004 05:06:40

très bien penser mais comment ajouter un user ?
c'est crypter en htaccès ??

répond à ca et je met 10 ;)

a+

Commentaire de GRenard le 09/08/2004 05:55:21

tungsten180 :
Le problème au niveau du login, je viens de mentionner qu'il faut que tu te log la premiere fois avec aucun password...
Aucun password en md5 donne d41d8cd98f00b204e9800998ecf8427e

zouloux :
Merci, si t'as d'autres quesitons/commentaires n'hésite pas !

kegi :
Pour ajouter un user... Tu te log en administrateurs et tu as l'option pour ajouter des utilisateurs.
Les mot de passe ne sont pas en htaccess mais sont crypté de manière indécryptable (md5)
Par contre, pour trouver le mot de passe, il est possible de le faire en force brute si tu as le md5.
C'est donc pour ca que je vous conseille vivement de changer le nom du fichier et donc aussi dans header.php tout simplement pour plus de sécurité.
PS : J'attends mon 10 niac niac niac ;) (joke ;))

Commentaire de kegi le 09/08/2004 06:02:46

voilà ton 10 !
partis comme cà je te devrait bien 30 ! dsl pour mes 3 messages... merci pour l'infos, je trouverais surement une facon de générer les password automatiquement lors des inscriptions...

autre question:

peut tu donner le bout de code permettant d'afficher le nombre de membres inscrit stp :) merci d'avance.

Commentaire de GRenard le 09/08/2004 06:20:18

"je trouverais surement une facon de générer les password automatiquement lors des inscriptions..."
Va voir dans le fichier /users.php ! tu peux créer de nouveaux utilisateurs !

Pour compter le nombre d'utilisateur :
Tu as la belle variable $count dans le fichier header.php ! elle est déjà la toute prete :P

Commentaire de kegi le 09/08/2004 06:21:48

quoi demander de mieux loll
merci encore ;)

Commentaire de coucou747 le 09/08/2004 13:32:12

bah en fait, la t'as pas vraiment de sécuritée pour survivre a la force brutte...
faut simplement pour la force brutte que tu mette un fichier
.htacces

ou alors que tu ralonge les noms de tes fichiers que tu mette un délai d'attente et que tu fasse en sorte que deux personnes ne puissent pas demander en même temps... etc...

Mais le .htacces est vraiment mieux niveau sécuritée

Commentaire de GRenard le 09/08/2004 17:41:00

Je viens de le dire plus haut, il faut changer le nom du fichier la... cela m'étonnerait que quelqu'un trouve le nom du fichier au pif si tu le changes.
De plus, décoder un mot de passe de 7 caractères prends déjà plus de 1 an je pense...

Commentaire de coucou747 le 09/08/2004 17:44:55

le nombre de possibilitées c'est 256 ^7, donc c'est vrai que c'est assez long, mais bon, faire un script qui lance lynx qui vérifie que c'est une page d'erreur, qui le relance etc.. c'est pas conpliqué, alors vaut mieux prendre ses peécautions, je sais pas si ça metrais un an moins ou plus, je n'ai jamais essayé, mais en théorie c'est faisable.

Commentaire de GRenard le 09/08/2004 17:54:08

J'ai dit change ton nom de fichier .dat
Si par contre c'est un con qui s'amuse à haxer ta page (C'est rare la !), bah tu y bloques son acces avec l'IP !
Ca génère tu traffics énorme faire ca ! tu pourrais appeler ca company fournisseur et le poursuivre !

Commentaire de kegi le 09/08/2004 19:16:14

re-salut,
je rencontre un prob quand je change un password,
si j'ai juste un user ca passe mais quand j'en ai deux ou plus ca met trois petits carrées dans le fichier dat donc ne reconnais plus l'espace entre les deux users...

quand je créer un users avec la page fait pour ca, il n'y aucun prob donc il doit y avoir un différence entre les deux fonctions.

merci d'avance
kev (kegi@hotmail.com)

Commentaire de GRenard le 09/08/2004 20:01:26

C'est corrigé. C'était le header.php qui était en cause. Pas users.php ni pass.php !

Commentaire de kegi le 10/08/2004 03:01:29

on demande on et a !
cool ca :)

mais tu devrait dire c'est quoi le nouveau password de administrator car là tu as aussi changer ce fichier là.

ou on le remplace par d41d8cd98f00b204e9800998ecf8427e

merci encore,
kev (kegi@hotmail.com)

Commentaire de GRenard le 10/08/2004 03:56:11

Lol je m'excuse pour le pass.dat :) jle remet comme avant :P

Commentaire de ImmortalPC le 13/08/2004 23:03:57

c'est koi ton site et je prouve que sa protège rien
Meme si sa prend l'IP!!!!!
Car quand tu as l'adsl sa change a chaque connection.
Ou tu utilise netch

Commentaire de robo45 le 17/08/2004 11:10:03

Merci pour le code.
Après modification pour mieux coller à mon site tout marche nickel.

Encore merci et A+

Commentaire de GRenard le 21/08/2004 03:30:31

ImmortalPC : Je ne comprends pas ton commentaire... Montre moi qu'il y a un probleme a ma source et je vais la corriger.

robo45 : C'est amusant comment le monde prenne des scripts tout simple pour leur site :). Je ne dis pas que c'est pas bien, mais c'est que ce script n'offre pas TANT de possibilites que ca...
Si vous voulez vraiment un espace membre, je crois qu'il vous faudra le coder. Vous pouvez faire ca "nul" : c'est a dire de le faire un peu pele-mele. Ou encore de le faire modulaire !
Si vous etes feneants (meuh oui ca arrive), ou simplement novice, vous pouvez prendre ce code ou attendre un jour que je posterai une source enorme avec la gestion complete dun visiteur avec espace membres et statistiques. (Que j'ai deja fait, mais que j'hesite a mettre free source)

Merci a tout le monde d'utiliser mes sources :)

Commentaire de Satandu67 le 21/08/2004 21:31:12

moi sa marche pas il a des truc d'erreur la preuve: http://easymoney2.free.fr/espacemembre/ et je recherche comment crée un formulaire d'inscritpion

Commentaire de GRenard le 21/08/2004 21:40:58

Je ne vais pas reapprendre comment utiliser les sessions chez free... Cherche un peu sur PHPCS c'est expliqué un peu partout... Il faut que tu create un dossier session et que tu mettes le chmod 777 je crois mais je ne sais meme pas, moi je paye pour un hébergement professionel.

Commentaire de Guilain moi le 25/08/2004 01:02:21

comment fo faire pour changer de mot de passe ???
ça me mets : The file pass.dat can't be written.

Commentaire de GRenard le 25/08/2004 02:05:47

Ton fichier pass.dat doit avoir un chmod 777

Commentaire de Guilain moi le 25/08/2004 03:35:40

et kesk il fo ke je change??

Commentaire de GRenard le 25/08/2004 03:43:57

Youhou ? le chmod !
Bouton droite sur ton fichier (dans ton logiciel FTP) et tu mets le chmod à 777 (serveur linux only)
Sinon si tu es sous windows ca devrait déjà marcher...

Commentaire de Guilain moi le 25/08/2004 03:47:53

scuse mé c koi le chmod???

Commentaire de GRenard le 25/08/2004 04:32:38

Cherche sur le forum ou sur google... il s'agit des droits d'acces d'un fichier/dossier.

Commentaire de kegi le 25/08/2004 04:38:47

lolll mdr,
il faut savoir tenir un crayon avant de savoir écrire...
faites un peu de recherche avant de poluer les espaces de commentaires...
recherche de chmod:  1 010 000 résultats.

kegi (kegi@hotmail.com)

Commentaire de kegi le 25/08/2004 04:39:56

Note: les recherches que jai fait c'est avec Google:

http://www.google.ca/search?hl=en&ie=UTF-8&q=chmod&meta=&X=1

kegi (kegi@hotmail.com)

Commentaire de ImmortalPC le 25/08/2004 10:18:30

Salut,
Voici que ton problème s'agrave car chez free ils ne prennent pas les chmod !!!!
Je suis bien placer pour le dire car je suis chez free !!!

Commentaire de GRenard le 25/08/2004 16:12:26

Dis moi, chez free, tu n'arrives pas à manipuler AUCUN fichier texte pour faire un simple compteur par exemple ?
Si oui, bah alors peut-etre que free autorise la manipulation des fichires .txt mais pas des .dat, tu n'as qu'à changer pour un fichier .txt !

Commentaire de ImmortalPC le 25/08/2004 22:04:48

pour les compteur j'utiliser MySLQ mais pour mon moteur de recherche j'utilise un fichier .txt pour sauvegarder les demandes

Commentaire de kegi le 26/08/2004 02:18:11

bah,
tu n'a qua renomer le fichier pass.txt en pass.txt et ca va marcher... et n'oublis pas de changer le chemin dans header.php.

kegi (kegi@hotmail.com)

Commentaire de jpabeille13 le 11/09/2004 09:07:28

si le but du script c'est de proteger les pages opload et server c'est raté car si on rentre le chemin "à la main" on accède aux pages....
il faut ajouter : if($user_id>=0){.....
les pages sont protégées...

Commentaire de GRenard le 11/09/2004 13:44:28

Attention, faille de sécurité, le fichier a été corrigé... D'une manière différente que jpabeille13 a dit ...
Il faut mettre define("LEVEL",1); maintenant pour protéger une page !

N'oubliez pas de mettre à jour vos scripts !!! TRÈS IMPORTANT !

Commentaire de jpabeille13 le 12/09/2004 09:39:28

Bonjour GRenard
j'ai testé la mise à jour mais j'ai trouvé un problème qui n'existait pas dans l'ancienne version un membre ne peut plus modifier son pass ni acceder aux pages. je n'est pas eu le temps de tout tester, je suis apiculteur et c'est la récolte je retourne à mes abeilles....
Sinon bravo pour ta façon de programmer j'apprend beaucoup en lisant tes sources, merçi.

Commentaire de GRenard le 13/09/2004 05:03:04

Ok c'est corrigé, j'ai été un peu vite pour la correction avant cette fin de semaine parce que le bug était extrèmement important ET je n'avais que 5 min pour le corriger car je partais pour la fin de semaine.
La j'ai corrigé, et j'ai rajouté l'option.
define("LEVEL",1); protège les pages accessibles pour les users.
define("LEVEL",2); pages accessibles que pour l'administrateur !

Si vous avez d'autres questions, n'hésitez pas !

Commentaire de works le 13/09/2004 15:46:42

comment on l'install?

Commentaire de GRenard le 13/09/2004 19:04:11

Execute le et regarde comment il fonctionne... Regarde ce que j'ai écrit en haut.

Il suffit simplement d'inclure le fichier header.php et de mettre auparavant un define("LEVEL",1); ou 2...
Tout est déjà écrit... Faudrait pas être paresseux.

Commentaire de kegi le 14/09/2004 01:30:02

tu as raison, déjà que tu nous donne de ton temps gratuitement il ne faudrait pas abuser...
merci encore ;)

kegi(kegi@hotmail.com)

Commentaire de neox_974 le 18/09/2004 14:03:19

Tout simplement superbe. Je n'est rien à redire. Code propre et facile à comprendre. Le script ne provoque pas d'erreur. JE l'adopte tout de suite !!!!  Félicitation. ;-)

Commentaire de z0Rba le 20/09/2004 17:22:22

Après avoir cherché pas mal de source pour créer des sessions sur mon site voilà que je tombe enfin sur une source qui me semble bien faite. N'était que débutant par contre en php j'aurais quelques petites questions.
Je voudrais utiliser ta source pour faire un style de login box dans un tableau (genre celle de ton index.php mais qui une fois logué se "transforme" par un truc genre Bienvenue "User" et un simple lien de déconnexion). Je te donne un exemple pour illustrer mon schmilblik (http://www.myefarm.com/). Si tu n'as pas le temps pour m'aider à adapter ta source à mes besoins dis moi juste si c'est faisable ? Perso je n'y arrives pas mais peut-être qu'après plusieurs litres de café et une bonne série de nuits blanches j'y arriverai. Merci à l'avance :o)

Commentaire de GRenard le 20/09/2004 17:40:55

Oui c'est faisable... Je n'ai malheureusement pas le temps de faire ca... Mais le meilleur truc c'est de vérifier si $user_id>=0, si oui, c'est que la personne est loggué et tu peux donc afficher un liens vers Déconnexion plutot que le tableau.

Commentaire de z0Rba le 20/09/2004 17:59:27

ok merci d'avoir répondu je vais donc me trouver un bouquin et essayer de faire ça correctement
Bonne continuation

Commentaire de osiris666 le 23/09/2004 12:54:36

merci gadjo sa clak maintenan jver voir si sa marche lol

p.s: ta gagner un 10 lol

Commentaire de HRdesalpes le 06/10/2004 18:47:50

Ce qui serai super ses qui soit en francais lol mais sinon le script et super et ya presue rien a traduire je vois pas pk taurais moins de 10 lol

Commentaire de neox_974 le 16/10/2004 17:59:12

Hum, très bien comme source. Marche "impek". 10/10

Seulement lorsque je l'intègre à mon site (après de grosses corrections pour qu'il puisse y être intégré ) j'obtient cette erreur :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at d:\program files\wamp\www\index.php:1) in d:\program files\wamp\www\php\espace\header.php on line 3

Je ne le comprend pas. Quelqu'un peut-il m'aider ?

P.S. : Je suis sous PHP5 et h'utilise Wamp pour le tester.

Merci d'avance

Commentaire de GRenard le 16/10/2004 19:46:48

session_start() doit être écrit avant que n'importe quel texte qui doit être affiché. Donc il est conseillé de le mettre en début de fichier...
Va voir ton index.php a la ligne 1... il y a un bug ... peut-etre un [ENTER] avant ton <?php !

Commentaire de neox_974 le 16/10/2004 21:41:13

J'ai essayer ce que tu ma conseiller. Sans succé. Le message est toujours là. Mais je pense avoir cerné le problème, sans le comprendre pour l'instant.

En le mettant sur mon serveur, "magic" sa fonctionne... Avec EasyPHP même modifié pour accepter PHP5, pas de problème. Sous Wamp, rien à faire, lol. Donc pour ceux à qui ça arrive, pas de panique, pour moi c'est la faute à Wamp.

Etonnant !

Merci pour ton aide GRenard.

Ah oui, j'allais oublié, continue à nous faire partager tes sources, claires, superbes, utiles, bref comme j'aimerai en voir plus souvent sur ce site. A bon entendeur !

Commentaire de juandy38 le 04/11/2004 09:10:09

Cher G
d'abord merci pour ta source géniale...
Je suis débutant en programation mais je l'ai modifié pour qu'il soit
1. en français
2. que l'administrateur connecté puisse remplir d'autres données nom reel .prénom. adresse etc
3.pour que l'utilisateur connecté puisse modifer à loisir ses données
Questions: Es-tu interessé par obtenir mes modifications et me dire si celà est conforme
d'autre part je souhaiterais que l'administrateur puisse modifier les données d'un utilisateur donné..ce qu'il me manque pour le réaliser
c'est la boucle qui selectionne une ligne donnée et l'affiche... peux-tu m'aider..?

Commentaire de GRenard le 04/11/2004 14:37:18

Merci beaucoup juandy d'utiliser mes sources...
Je ne veux pas que tu le prennes mal mais je ne suis pas interessé à la source modifié car j'ai énormément de travaille et il est à noter qu'un espace membres sans SQL est bien, mais il n'est pas fait pour stoquer des données... donc moi je l'utilise pour UN seul utilisateur en fait. De plus, si tu modifie pour mettre tout ca dans un fichier, ca devient encore moins sécuritaire parce que la tu vas obtenir pleins d'informations sur tes "membres" que tout le monde peut voir. Apprends le mySQL.

La boucle qui sélectionne les données est dans header.php et celle qui l'affiche est dans users.php.
Dans users.php, c'est facile, c'est la ligne "for($i=0;$i<count($user);$i++)" dans header.php c'est cette belle ligne "list($user[$count]['login'],$user[$count]['password'],$user[$count]['level']) = explode("\t",$data);" donc à toi de rajouter des choses dans cette ligne (et les lignes en dessous pour les trim).
Attention ! moi je n'ai pas mis 29324 protection dans ce script premièrement parce que ce n'est pas fait pour TOUS les sorte de membre, ici il est très basic... si toi dans le fichier se trouve le nom, prénom et toutes ces choses du genre, n'oublie pas que tu dois désactiver l'utilisation de mettre un TAB dans leur informations (s'ils ont droit de les modifier ou de les entrer eux même !). Tu verras vite pourquoi !

Bonne Chance

Commentaire de juandy38 le 04/11/2004 15:49:23

Je te remercie d'avoir pris un peu de temps pour me repondre.
Pour l'instant j'apprends...
J'avoue que la sécurité n'est pas encore mon problème premier...Et même si j'ai déjà pas mal avancé sur le plan Mysql..celà ne resouds pas le problèmeposé..je voudrais realiser un système commande de devis on line
En fait je ne souhaite pas passer par une base mysql poour juste un service email
j'ai déjà realisé les formulaires et l'envoi d'email en question .Ce qui m'importe c'est que les clients puissent s'inscrire...modifier leur données et que moi je puisse supprimer ou modifier les données de ces personnes le cas échéant avec un fichier texte ...Je suis donc arrivé presque à la solution complète...mais il me manque juste la modication des données clients par l'administrateur.Ceque je voudrais c'est pouvoir d'un simple clic sur le tableau de la liste des utilisateurs non pas supprimer mais modifier....ce n'est bien évidement pas le lien qu'il mais difficile de trouvé mais la boucle qui me permettrait d'afficher dans le formulaire users.php les donnée de la personne selectionné ...je te remercie d'avance au cas ou tu pourrais me repondre


Commentaire de dangman le 09/11/2004 01:09:53

Je suis désolé je suis plus que nouveau dans tout ca,
j'ai trouvé ton script qui a l'air vraiment bien et je suis vraiment adminiratif de ce genre de travail, j'aimerais beaucoup programmer en php mais je sais pas par ou commencer...<br>
Bref j'en viens au sujet :) j'ai installé ton script dans easyphp je lance la page index et la je rentre le login et je laisse le password vide. <br>
Il me marque "Login successful" mais je n'ai aucun choix et au bout de 2 secondes il me redirige sur la page index.<br>
<br>
Pouvez vous me dire ce que j'ai mal fait ou ce que je dois faire. Merci beaucoup....

Commentaire de kegi le 09/11/2004 02:37:27

et tu t'attends a quoi ?
qu'il te dise seulement que tu est loguer ?

kevin (kegi@hotmail.com)

Commentaire de dangman le 09/11/2004 23:11:22

normalement je devrais avoir la possibilité d'ajouter des utilisateurs, de les editer, supprimer etc... et egalement de choisir vers quel page je souhaite etre dirigé. La je n'ai rien de tout ca il me dit que je suis loggué et il me remet sur la page index ou je retape le nom d'utilisateur et le mot de passe... C'est le poisson qui se mord la queue...

Commentaire de GRenard le 09/11/2004 23:33:20

Le script utilise les sessions. C'est à dire que tu dois accepter un cookie pour continuer correctement...

Commentaire de dangman le 09/11/2004 23:39:18

J'ai mis "autoriser tous les cookies" dans internet explorer mais rien ne change. Je suis vraiment a la rue. Désolé :)

Commentaire de GRenard le 10/11/2004 03:12:23

Les sessions ne sont peut-etre pas activée sur ton serveur... Vérifie tout cela avant de poster à nouveau en commentaire... le code fonctionne regarde tout le monde a réussi à le faire marcher ;)

Bonne chance...

Commentaire de dangman le 10/11/2004 21:43:30

Bon pour finir avec le sujet, cela ne fonctionne pas sur mon pc avec easy php certainement pour les raison de session de ma configurationphp mais je n'arrive pas a le changer.
Mais cela fonctionne sur mon hebergeur mais je n'arrive pas a trouver comment l'utilisateur peux tomber sur une page internet qui etait proteger pas ce script.
Enfin bref je pense qu'il faut que je me plonge a fond dans le php et peut-etre qu'un jour j'arriverai a comprendre tous ces mysteres.
Merci a tous et desole de vous avoir derange

Commentaire de GRenard le 10/11/2004 23:01:43

Une page protégée correspond à un endroit où on peut y accèder seulement une fois loggué... avec les constantes définies plus haut dans l'"Explication finale".

Ta question "je n'arrive pas a trouver comment l'utilisateur peux tomber sur une page internet qui etait proteger pas ce script." (par ce script) (attention au faute de frappe, ca m'a pris du temps à comprendre le sens de la phrase :P)
Tout simplement que quelqu'un de mal intentionné donnerait l'adresse URL du fichier simplement. La personne n'étant pas logguer ne pourra tout simplement pas accèder à la page demandée.

Commentaire de kankrelune le 20/12/2004 15:14:40

C'est du beau boulot... chapeau bas... .. .

Ca marche impec mais une fois que je veux y integrer des pages j'ais un petit probleme...

En fait je veux sécuriser une admin avec ce script et mon probleme c'est que la page admin est faite de frame... résultat je tombe sur une page blanche une fois le code integré à la page...

j'ais viré les balises body (c'est peut etre une connerie mais je crois savoir que les frameset n'aiment pasdu tout)... j'ais repris le code de phpmyadmin au cas ou j'aurais fait une connerie dans mon frameset mais rien n'y fait... .. .

voila mon code...

<?php
define("IN_SITE",true);
define("LEVEL",1);
include("header.php");
?>
<frameset cols="285,*">
<frameset rows="245,*">
    <frame align=center width="300" height="30%" resize scrolling="auto" name=chat src="chat/chat.php" frameborder="1" />
    <frame align=center marginwidth=0 marginheight=0 frameborder=yes  width="300" height="70%" resize scrolling="auto" name=menu src="menu.php" />
</frameset>
    <frame align=center height="100%" noresize scrolling="auto" name=frm src="newsadmin/news_accueil_admin/adminnews.php" frameborder="1" />
    <noframes><P align="center" class="titre"><br><br><br>
      Ce document avec un jeu d'encadrement, il contient :
      <UL>
         <LI>- <A href="chat/chat.php" target="_parent">Un shoutbox</A>
         <LI>- <a href="menu.php" target="_parent">Le menu</a>
         <LI>- <A href="newsadmin/news_accueil_admin/adminnews.php" target="_parent">La page d administration (par défaut les news de l administration)</A>
      </UL>
      </p>
    </noframes>
</frameset>
<?php
include("footer.php");
?>

Quand j'affiche la source ça donne ça...

<html>
<head>
<title>Cir-K-Admin</title>
<link type="text/CSS" rel="stylesheet" href="style.css">
</head>
<table width="100%" height="100%" border=0><tr><td>
<frameset cols="285,*">
<frameset rows="245,*">
    <frame align=center width="300" height="30%" resize scrolling="auto" name=chat src="chat/chat.php" frameborder="1" />
    <frame align=center marginwidth=0 marginheight=0 frameborder=yes  width="300" height="70%" resize scrolling="auto" name=menu src="menu.php" />
</frameset>
    <frame align=center height="100%" noresize scrolling="auto" name=frm src="newsadmin/news_accueil_admin/adminnews.php" frameborder="1" />
    <noframes><P align="center" class="titre"><br><br><br>
      Ce document avec un jeu d'encadrement, il contient :
      <UL>
         <LI>- <A href="chat/chat.php" target="_parent">Un shoutbox</A>
         <LI>- <a href="menu.php" target="_parent">Le menu</a>
         <LI>- <A href="newsadmin/news_accueil_admin/adminnews.php" target="_parent">La page d administration (par défaut les news de l administration)</A>
      </UL>
      </p>
    </noframes>
</frameset>
</td></tr></table>
</html>

Tout à l'air normal... je pige pas... .. .

J'ais essayé avec et sans footer.php... enfin bref j'ais essayé de pleins de façons differentes... mais là je sèche... .. .

Bien entendu je sais que tu n'est pas là pour faire le service après vente (lol) mais c'est au cas ou l'erreure te sauterait aux yeux... parce que moi je vois pas... sinon je ferais autrement... mais c'est domage j'aime bien l'admin comme ça, à la phpmyadmin... c'est plus cool que de devoir revenir au menu... .. .

Voili voilou... je crois ne rien avoir oublié...

Ah si... faut il integrer include("footer.php");  et  define("IN_SITE",true);  dans les pages à protéger... .. ?

Désolé de mon ignorance mais ça fait à peine deux semaines  que je me suis penché sur le php (il faut bien un début à tout moi mon truc c'est les MAO pas le codage) vu qu'avant j'utilisait du prémaché en l'occurence phpnuke et xoops qui soit dit en passant sont très bien mais c'est pas pareil que du "fait main"... .. .

voili voilou... désolé pour le roman... muarf... mdr... .. . :oP

Et bonjour au Québec... .. . ;o)

^_^

@ tchaOo°

Commentaire de GRenard le 20/12/2004 16:20:23

Ca saute aux yeux :) une chance hein ;)
Ouch :P
tu vois avec FireFox, il n'y a aucun problème, mais avec Internet Explorer, il n'aime pas <body> mais il n'aime pas non plut tout ce qui est autre chose que du code de frame...
Il faut enlever les lignes

<table width="100%" height="100%" border=0><tr><td>
dans header.php et
</td></tr></table
dans footer.php

Comment faire pour les laisser pour les autres cas ?
Tu n'as qu'à te faire une constante define('NO_HTML',true);
Tu vérifie si la constante est définie à false ou non définie, si vrai, tu affiches les 2 lignes en haut...

le include('footer.php'); sert seulement à "arreter" le html déjà ouvert. define('IN_SITE',true) permet de protéger les pages d'un accès direct... Ainsi, quelqu'un ne peut pas aller directement sur header.php. Essais :)

Bonne chance.

Commentaire de kankrelune le 20/12/2004 18:05:55

Franchement merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii !!! !! !

^_^

Déja je ne m'attendais pas à une réponse si rapide... biensur ça marche (le contraire m'aurait étonné) et qui plus est j'ais appris quelque chose qui je pense me sera bien utile (je t'explique pas comment mes neuronnes on chauffés cette aprèm... mais quand on ne connait pas... difficile d'inventer)

J'ais fais :

if(defined("HEADER_NO_HTML")) {

echo " ";
}

else {

echo "<table width=\"100%\" height=\"100%\" border=\"0\"><tr><td>" ;
}

if(defined("FOOTER_NO_HTML")) {

echo " ";
}

else {
echo "</td></tr></table>" ;

}

Je sais pas si c'était la meilleur façon de le faire mais ça marche... .. .

Merci infiniment de ton aide sans laquelle j'aurais dû tout repenser mon admin... .. .

^_^  <-------- content... .. . ;o)

@ tchaOo°

Commentaire de GRenard le 21/12/2004 03:50:39

au lieu de faire un echo vide (" ") fait plutot
if(!defined('HEADER_NO_HTML')) (un ! devant defined)

Ou sinon, tu le prends à l'envers en faisant quand même une vérif... parce que la peu importe ce que contient *_NO_HTML, il va y avoir " "... donc par exemple
if(!defined('HEADER_NO_HTML') || constant('HEADER_NO_HTML')==false)
echo '<table...';

Ainsi, si ta constante n'est pas définie ou si elle est à true, il va y avoir ton tableau...

et tu ne mets pas de else :) bien plus simple hein ?
MMM n'oublie pas le <body> :)

Commentaire de kankrelune le 21/12/2004 22:47:06

Oups le <body></body>... :oS ... ah bah bravo... .. . :oD

effectivement j'y avais pensé pour le echo vide... alors j'avais mis un commentaire "histoire" que bien qu'il soit quand même inutile... :oS ) ...il soit pas vide... :o| ...on ne rigole pas... ;o) ...ça marche mais c'est clair que de cette façon ça sera plus propre... là j'avoue que je comprend mieux le coup de la vérif je vais donc opter pour cette voie... .. .

Encore une fois... un grand merci à toi... .. .

^_^

@ tchaOo°

Commentaire de kankrelune le 31/12/2004 16:16:53

Hello mister c'est encore moi

Ti mot pour dire que ça marche nikel... franchement merci encore et bravo pour ce code... .. .

Je te fais part d'une micro modif qui pourrait peut être t'interresser... ou tout du moins les personnes qui vont utiliser ce script... .. .

C'est plus que mineur (enfin tu me corrigeras si je dis une connerie) en fait le probleme se pose avec la detection du pass.dat quand on a des fichiers sur plusieurs niveaux à protéger... en effet il faut retaper le nouveau chemin du fichier pass dans un nouveau header car sinon il est possible qu'il ne soit pas trouvé... .. .

Pour y remédier et n'avoir ainsi qu'un fichier header footer function et pass pour protéger toutes les pages et les fichiers voulu il suffit de remplacer dans le header +/- à la ligne 19...

$pass_filename = lenomdemonfichierpass.dat";

par

$pass_filename = $_SERVER["DOCUMENT_ROOT"] . "/repdemonsite/cheminparexadmin/lenomdemonfichierpass.dat";

repdemonsite représente tous le repertoire depuis la racine de votre serveur... si vous ete directement sur la racine pas besoins... .. .

Voili voilou... comme tu pourras le constater je n'ais pas inventé l'eau chaude... c'est mineur mais je pense que ça pourra servir à d'autres que moi... .. .

Jouyeuse fin d'année à tous... .. .

^_^

@ tchaOo°

Commentaire de kankrelune le 31/12/2004 16:22:32

Je le remet parce que ça apparait  bizar
$pass_filename = $_SERVER["DOCUMENT_ROOT"] . "/sousrep/admin/pass.dat";

Sinon j'en profite pour te dire que je t'ais mis 09/10 (je précise que je ne met jamais 10/10 ou 20/20 pour moi la perfection n'existe pas... et comme je pouvais pô mettre 9.5/10... :oP)

@ tchaOo°

Commentaire de GRenard le 31/12/2004 17:16:24

Merci du conseil pour les autres, mais je ne le corrigerai pas. Ils auront qu'à le corriger au besoin :P parce que si jamais tu installe le script avec un alias, tu ne dois plus utilisé $_SERVER['DOCUMENT_ROOT']... donc :) ca ne sert à rien de mettre toute les possibilitées. Ici la plus courrante est disponible.
Mais Si les autres vous avez un problème de détection de fichier, regardez le commentaire de kankrelune ;)

Commentaire de GoW le 02/02/2005 12:33:24

GRenard
Je n'arrive pas a faire marcher la page.
Je lance Easy PhP je dézippe dans mon dossier je tape le Login : Administrator sans mot de passe ( j'ai rien modifié avant sur tes dossier  )
Et la chaque fois il me réactualise la page ( j'ai tjrs la même page )
Il a l'air de déchirer ton code mais j'y arrive pas :(
Merci pour ton aide ( Si je peux le tester je te mettrai un 10 même si je suis tenté" de te le mettre direct je préfèrerais tout de même le tester ;) )
Merci de m'aider

Commentaire de GRenard le 02/02/2005 15:42:23

Vérifie si tes cookies sont correctement acceptée (cause majeur du non fonctionnement), si tes sessions sont activées (2nde cause), et si tu as register_globals à off (au cas ou)... Utilise la derniere verison de PHP4 ou 5...

Commentaire de GoW le 02/02/2005 20:33:36

C'est à dire les cookies  ? dans quels page j'ai rien modifié dans toutes tes pages et j'ai pas mis de page avec header.php
register_globals à off comment je modofie ?
Merci ( 10/10 pour tentative d'help a un pauvre paumé comme moi )

Commentaire de GRenard le 02/02/2005 21:04:41

Cookie, fait une recherche sur internet pourquoi ils ne sont pas acceptés. Tu peux aller dans les configurations d'internet explorer pour les accepter tous. Suit bien ce qui est écrit en haut et tu devrais pouvoir réussir à protéger tes pages.
Pour ce qui est de register_globals à off, tu va voir dans le fichier php.ini...
Si tu as d'autres questions de ce genre, n'hésite pas mais poste les en message privé.

2 Rien et merci d'utiliser mon script :)

Commentaire de twisteurwin le 25/02/2005 23:44:53

Excellent, j'ai noté 10/10 car c'est tout simplement du travail bien fait...Continu comme ca ...bravo :-)

Commentaire de DyMoN le 08/06/2005 20:40:10

Ce Script est trés bien fait mais il manque une chose trés importante :
L'inscription individuel de chaque membres, dommage que ce soit a nous de les entrer

Commentaire de GRenard le 09/06/2005 05:13:09

Tu n'as qu'à rendre la page disponibles à l'administrateur (level 2) à aucun level. Ainsi, n'importe qui pourra créer un compte.

Commentaire de DyMoN le 09/06/2005 07:52:53

J'ai chercher mais je ne voit pas trop comment faire.
Peux tu m'indiquer le changement a faire .
Merci

Commentaire de DyMoN le 09/06/2005 07:57:15

J'ai repondu un peu vite,
j'ai trouver mais bon jai pas mal de modif a faire il faut que j'ajoute un formulaire d'inscription etc.

Sinon c'est du bon boulot pour securiser des accés administrateur mais pour un espace membre je vais me rediriger sur un autre script .
Lequel me conseillez vous ?

Commentaire de le_prince le 14/06/2005 17:35:07

bonjour a tous le monde je viens d'utiliser ce script qui est vraiment geniale et qui tourne correctement sous easy php mais en l'integrant sous mon site j'ai toujour une erre  de type session_start() cannot send session cache limiter - headers already sent (output at ....\index.php:2) in header.php line3
priere de de m'aider

Commentaire de GRenard le 14/06/2005 23:48:42

Ce genre d'erreur se passe lorsque quelque chose est déjà envoyé au navigateur (du texte) et que la page essaie de changer de place (redirection)...
Il faut regarder index.php ligne 2 et header.php ligne 3.
Si tu n'arrives pas à trouver l'erreur (parce que la je vois pas trop rapidement comme ca la ligne 3 par défaut dans header.php c'est un commentaire et ligne 2 de l'index c'est un define()), tu peux rajouter du output buffering...
Tu t'arranges pour appeler cette fonction : ob_start(); en PREMIER (avant d'envoyer du texte) et à la fin de ton script tu appelles cette fonction : ob_end_flush();
Ainsi, tout est emmagasiner dans un buffer, c'est plus rapide en plus... une place appropriée pour mettre cela c'est header.php et footer.php (vu que ces deux fichiers sont toujours appelé...)

Si t'as d'autres questions, n'hésite pas !

Commentaire de GRenard le 14/06/2005 23:51:54

En d'autres termes si tu ne veux pas utiliser le output buffering, tu dois t'arranger pour que session_start() soit appelée avant d'envoyer du texte.
Et attention

?>
<?php

Avec les 2 lignes du dessus, ya du texte envoyé ! Ah Bon ? oui oui ! un ENTER (\r\n ou \n) donc ca provoque une erreur !

Commentaire de bfgt le 19/06/2005 16:31:10

S'lut GRenard,
ta source est superbe. Je suis membre VIP, et juste à regarder tes sources, je peut dire que c'est du bon travail.
Franchemant, la source est un peut simple "Sans mysql ;(" mais super bien. Meme si tu utulise pas de base, tout est quand meme bien proteger. J'vais peut-être faire un program qui se connecte à une base d'un serveur, un peu comme "MSN Explorer".

Merci à ta source ;)

Na tu pas peur que les membres écrivent en meme temps dans le fichier .dat? (J'ai fait un fichier pour l'inscription...)

Commentaire de GRenard le 19/06/2005 19:25:54

Merci :) c'est pas une super source ça, mais puisque plusieurs personnes souhaitent protéger leur page sans mySQL, je me suis dit pourquoi pas. Va vois les autres, elles sont mieux :P
Pour ce qui est du .dat qui soit écrit par plusieurs, oui c'est très possible mais on ne peut pas tout avoir... De tout manière, dans cette source, il n'y a qu'un seul administrateur... donc normalement pas de problème ;) mais ouin, ils peuvent changer leur mot de passe... tant pis pour eux... :P

Merci encore pour ton commentaire !

Commentaire de Vone le 13/11/2005 13:11:45

Salut !
Sur la premiere page de mon site je veux qu'on donne un pass, comment ça marche ?
Je comprends rien à tout ça :'(

Commentaire de GRenard le 13/11/2005 15:40:50

Dans les commentaires, j'ai écrit plus haut comment faire pour qu'un utilisateur puisse s'inscrire automatiquement... Il faut changer la page d'administrateur, enlever le level 2 et le mettre à aucun level.
Si c'est seulement donner un login password déjà inscrit, tu n'as qu'à l'afficher ?? Login : xxx Pass : yyy
Essaie d'étudier un peu le PHP avant de dire que c'est incompréhensible ;)

Commentaire de chuckbourdeau le 21/05/2006 06:21:30

Je comprends pas.. J'entre le bon Pass mais sa marche pas..

Commentaire de kegi le 21/05/2006 21:04:10

Tu n'a qu'a relire les commentaires, tous les genres de problèmes sont traité selon moi... Bonne chance.

Cordialement,
Kevin (kegi@hotmail.com)

Commentaire de marchat le 29/05/2006 10:16:31

Super cette source elle fonctionne à merveille!
Je suis pas très bon en php et je voudrai savoir comment faire pour ajouter un membre sans se connecter.
Merci d'avance.

Commentaire de GRenard le 29/05/2006 14:16:43

Essaie d'ajouter des utilisateurs en te connectant...
tu vas voir comment se remplit le fichier pass.dat...
Login[TAB]md5_pass[TAB]niveau

Commentaire de daweb le 03/10/2006 19:43:11

Bonjour j'ai un prob!!!
je ne peux pas me conecter est il n'y a pas de page de remerciement je viens de commencer le php j'ai remplacer le fichier pass.dat par
user *****
sans le " 1"

Commentaire de daweb le 03/10/2006 19:44:36

pardon pas page de remerciement page d'inscription

Commentaire de GRenard le 03/10/2006 20:00:09

Essaie de créer un utilisateur par l'interface WEB.
Tu verras ensuite la sémantique du fichier à suivre.

Commentaire de daweb le 06/10/2006 19:58:17

scuse j'ai pas bien compris je pense qu'on devrait depaser 6 caractère dans le pass

Commentaire de Xypno le 27/02/2007 01:28:32

Comment les personnes fond pour s'inscrire ?

Commentaire de kiki67100 le 24/03/2007 18:20:44

Voila je veut juste te dire merci car ta source et vraiment bien merci Bravo continue comme sa 10/10


Kevin

Commentaire de xavior le 13/04/2007 11:26:34

Je tiens aussi à te feliciter. La source est parfaite, clair et en plus elle fonctionne.
Bon boulot!!

Commentaire de coucou747 le 13/04/2007 12:55:01

lol "La source est parfaite, clair et en plus elle fonctionne." ca veut rien dire, si elle ne fonctionnait pas, elle serait la pour montrer un truc, et pour un espace memnre...

Commentaire de noobiz le 07/02/2009 14:39:04 10/10

C'est une source bien codée, avec un petit design simple mais séduisant, totalement oppérationelle, tout est bien sécure, mais a mon gout, le bémol est que les débutants ne mettrons pas de .htaccess, et donc se feront hacker ....


NOTE: 10/10

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales