begin process at 2010 03 21 15:53:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > KIT DE CREATION DE SITE INTERNET

KIT DE CREATION DE SITE INTERNET


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :php mysql, Site perso, genealogie, sosa Niveau :Débutant Date de création :27/02/2008 Date de mise à jour :28/05/2008 14:05:51 Vu / téléchargé :10 331 / 1 054

Auteur : mldvb

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

 Description

Ce site est ecrit en php 4 et mysql. c'est un site a caractère famillial, avec gestion des affichages en fonctions des droits accordés a chaque utilisateur
Toute l'administration se fait a partir du site avec un user administrateur.
IL inclus une gestion d'arbre de genealogie, un memento, une messagerie, et est bien sur évolutif.

Source

  • Mon site est situé a l'adresse suivante http://guy.merlaud.free.fr
  • Vous pouvez télécharger le kit a cette adresse ou le prendre dans le zip joint.
Mon site est situé a l'adresse suivante  http://guy.merlaud.free.fr
Vous pouvez télécharger le kit a cette adresse ou le prendre dans le zip joint.

 Conclusion

Sans aucune prétention ce kit est un bon point de départ pour qui veut se lancer dans le php.
Etant débutant en PHP moi-même, j'espere ne pas avoir fait trop d'erreur et que ce kit pourra etre utile a quelqu'un

 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

27 février 2008 12:02:29 :
Regroupement de tous les modules dans le meme zip, pour repondre a la remarque justifiée de Codefalse
11 mars 2008 14:12:39 :
Suite aux commentaires précédents, j'ai effectués quelques modifications du Kit * Suppression des entêtes DOCTYPE (*) * Suppression des error_reporting(0) * Hashage (sha1) du mot de passe et non plus cryptage * Ajout d'une page version (*) J'envisage dans un prochain temps de valider mes pages en W3C et donc de renseigner correctement cette entete html
11 mars 2008 14:15:17 :
Suite aux commentaires précédents, j'ai effectués quelques modifications du Kit (Suppression des entêtes DOCTYPE (*), Suppression des error_reporting(0), Hashage (sha1) du mot de passe et non plus cryptage , Ajout d'une page version ) (*) J'envisage dans un prochain temps de valider mes pages en W3C et donc de renseigner correctement cette entete html
29 mars 2008 23:22:19 :
Correction de certain bugs et mise a jour du sql qui avait été oublié lors de la précédente version. Le détail des corrections est sur mon site.
28 mai 2008 14:05:54 :
Ajout de 2 fonctionnalités pour la généalogie. - Classement : liste des derniers mariages, naissances et décès. - Parenté : calcul de parenté entre 2 personnes de la base avec affichage des numéros sosa Voir mon site pour le détail des modifications et la mise a jour a partir de la version précédente.

 Sources du même auteur

Source avec Zip AFFICHAGE ET GESTION DE DIAPORAMA EN PHP SANS BASE DE DONNÉE...

 Sources de la même categorie

CALCUL D'UNE DISTANCE ORTHONORMIQUE par bossfoot
Source avec Zip ESPACE ADMIN SIMPLE par mousaid_88
Source avec Zip IMAGINE-CMS V2.20 par djack69
Source avec Zip AFFICHAGE ET GESTION DE DIAPORAMA EN PHP SANS BASE DE DONNÉE... par mldvb
Source avec Zip Source avec une capture PARSER ALLOCINE par cyrhades

 Sources en rapport avec celle ci

Source avec Zip GÉNÉRATEUR DE COUCHE DAO POUR SITE WEB À PARTIR D'UNE BASE D... par alexfool
Source avec Zip UNE FAQ AVEC JQUERY par dereht

Commentaires et avis

Commentaire de codefalse le 27/02/2008 10:37:18 administrateur CS

pourrais tu éviter de mettre des zip dans des zip histoire que l'on puisse commenter ton code sans télécharger le fichier.
Je sais, ca fait un peu feignant mais en meme temps ... hein ! ... :p

Commentaire de coucou747 le 27/02/2008 12:28:37

quelques  remarques
Header("location: test_session.php");
c'est header('Location: url_absolue'); normalement

ton html (ou xhtml ?) genere est completement faux :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

on trouve des balises center
on trouve <br>, mais parfois aussi des <br />



pour le php :

if (mysql_num_rows($reqJ) > 0) {
$tabl_Journal= array();
while ($tabl_Journal = mysql_fetch_assoc($reqJ)) {
si ton if n'a pas de else, alors le if ne sert a rien...

error_reporting(0);
moi ca me choque, meme en production...

extract($_POST); // ca sert a quoi ?

sinon, tu fais plein de echos quand tu pourrais en faire un seul, c'est domage

Commentaire de codefalse le 27/02/2008 13:46:47 administrateur CS

Merci pour la mise à jour du zip, c'est mieux comme ca :)

Au lieu de mettre un index avec un exit ('INTERDIT');
Tu devrait mettre un htaccess, ca fait plus sérieux ! :p

Ensuite tu te cantonne à une base de donnée en mysql. Prévoit une base de donnée adaptable, que ce soit aussi bien pour du mysql, pgsql, et autre. Surtout étant donné la vocation qu'à ton projet. Un "Kit de création de site internet" ne peux se cantonner qu'à un type de bdd. Je te demande pas de faire le reste en opérationnel, mais de prevoir le fait que ...

De plus, des systemes de ce genre sont maintenant codés en Orienté objet. Pas parce que ca fait plus roxor, coderz killerz (lol) mais tout simplement car, quand c'est bien structuré, tu a la puissance de l'évolutivité et de la pérénité à moindre cout et avec une extrême rapidité !

Prends exemple sur tous les frameworks actuels, qu'ils soient pour php4 (déprécié) ou php5, tu aura toujours des classes. Il y a une raison a cela !

Evite l'utilisation de global, c'est un peu comme mettre du 777 (droits d'acces en écriture, lecture et execution pour tout le monde) sur tes fichiers secrets (mot de passes et companie)

Courage !

Commentaire de Dushaine le 27/02/2008 22:10:12

extract($_POST); // ca sert a quoi ?

>> ca sert tout simplement a ne pas devoir a chaque fois taper $_POST['var1'] $_POST['var2'], ... apres extraction tu mets simplement $var1, $ var2, ...

Commentaire de coucou747 le 27/02/2008 22:23:50

tu sacrifies un confort d'ecriture a une securite...

Commentaire de Dushaine le 27/02/2008 22:33:24

rien a voir... ca n'influence en rien la sécurité

Commentaire de codefalse le 27/02/2008 22:42:03 administrateur CS

Utiliser extract demande au serveur php plus de travail, allouer plus de mémoire pour des variables qui, au final, t'auront fait gagner quelques minutes de ton temps et fera ramer ton serveur inutilement.

Commentaire de coucou747 le 27/02/2008 22:48:50

extract($_POST); permet a l'internaute d'interragir directement avec les variables definies ou non, ce qui peut provoquer des failles si ton site est mal concu. Utiliser $_POST directement limite la porte du $_POST a la ou il est utilise...

et si tu veux parler securite :

#  $nomsg = $_POST['lect'];
# if (isset($_POST['lecture'])) {
# affich_msg($nomsg);

ici, tu appelles ta fonction sans verification de ce que tu lui envoies

# function affich_msg($nomsg){
# $sql = 'SELECT * FROM messagerie WHERE `no` = '.$nomsg;

ici tu peux faire une XSS SQL a base de UNION SELECT (avec ce genre de choses, on peut reussir a recuperer un mot de passe admin)

Commentaire de yoman64 le 28/02/2008 04:03:55

Outre les perfs consommé inutilement comme le signale codefalse, Coucou a totalement raison, c'est pas pour rien que register_globals est à Off par défaut depuis php 4.2 pour des raisons de sécurités...

Coucou démontre très clairement les failles lié à ce que tu fais,mais si tu crois toujours pas, alors peut être croieras tu l'équipe php qui elle même déconseille fortement register_globals (parce que ce que tu fais reviens presqu'à la même chose...)

Plus d'infos: http://ca.php.net/register_globals


Sans parler que sur la doc d'extract ils disent justement de ne pas l'utiliser sur des données passé par l'utilisateur ($_GET,etc)
Infos: http://ca.php.net/manual/en/function.extract.php


Pour ce qui est de remplacer les fichiers index avec un exit par un .htaccess, je suis d'accord sur le fait qu'un htaccess est mieu , mais pour des questions de portabilité je crois qu'il est bon de garder un fichier index.html quand même, après tout apache n'est pas le SEUL serveur web au monde hein :P


Sinon il serait bon de respecter les standards (x)html (eh oui un cms devrait respecter les standards...) et de passer à php5, à l'aube du php6 le php4 fait très vieu jeux.... mais bon....


Ton projet est interessant, et je te souhaite bonne chance :)

Commentaire de mldvb le 28/02/2008 10:52:20

Merci a tous pour vos commentaires.
Encore une fois je suis débutant en php et accepte toutes critiques.

ce site a été crée pour un usage perso, et si je l'ai posté c'est uniquement car il me semblait suffisant pour débuter et n'as pas forcement vocation a être utilisé tel quel.

C'est pourquoi je n'envisage pas une évolution possible de la base de donnée (comme le précisait Codefalse)

Il est certain qu'il faudrait améliorer la partie sécurité.
Pour "extract()", je me suis inspiré du site "phpdebutant" et je n'ai pas vu qu'il pouvait y avoir des problème de sécurité ou de performance.
De meme pour "error reporting(0)" j'essairai, a l'occasion de corriger.

Coucou747 tu parle de possibilité de récupération du mot de passe Admin, qui est codé dans une table User, lors de l'affichage d'un message dans la table messagerie, j'avoue que je ne comprend pas la subtilité.

Quand a la version de PHP, j'ai développé ce site pour qu'il fonctionne chez mon hebergeur (Free) qui est en PHP 4.4.3

Commentaire de coucou747 le 28/02/2008 13:22:58

$sql = 'SELECT * FROM messagerie WHERE `no` = '.$nomsg;
t'as une requete du genre, $nomsg est fixe par l'utilisateur, il n'a qu'a faire :

$nomsg = UNION SELECT login, password FROM users

Commentaire de coucou747 le 28/02/2008 13:23:23

euh.... correction :
$nomsg = '0 UNION SELECT login, password FROM users'

Commentaire de mldvb le 28/02/2008 13:35:08

Je comprend un peu mieux, et effectivement il peut y avoir un souci de ce coté.
Mais même si on récupère le mot de passe, il faudrait connaitre le code de cryptage AES (qui n'est pas le même sur mon site que celui du Kit)  

Commentaire de coucou747 le 28/02/2008 13:47:58

j'adore ta source...
extract($_POST); // je vous renvoie à la doc de cette fonction
je t'informe que quand je te demandais ce qu'elle faisait, c'etait ironique, j'aurais pu dire "mais qu'est-ce-qu'elle fout la ?"
AES_ENCRYPT("'.$pass1.'","clecrypt")
ca me choque perso, j'ai toujours entendu que la cnil voulait qu'on hashe nos passwords et pas qu'on les crypte...

Commentaire de codefalse le 28/02/2008 13:48:31 administrateur CS

free supporte le php5, il suffit de lui mettre une directive dans un fichier htaccess

Commentaire de codefalse le 28/02/2008 13:49:58 administrateur CS

@coucou : peut-etre que je me trompe mais on ne doit prévenir les supérieurs que si la clef est supérieur à 256bits non ?

Commentaire de coucou747 le 28/02/2008 13:53:17

si mais ca c'est le ministere de la defense qui s'en occupe (et c'est 128 d'ailleur je crois)

la cnil, c'est pour les acces aux informations privees, et vu la faille XSS de ce site, deja, il met tout sauf le password a notre disposition, de plus, l'auteur de la source a acces lui aux passwords (puisqu'il a la clef AES) et ca, c'est mal : de tres nombreux utilisateurs utilisent le meme password sur de nombreux sites, il est donc illegal de stoquer l'information... ce password doit-etre irrecuperable : donc hashe.

Commentaire de codefalse le 28/02/2008 14:46:36 administrateur CS

oui, en effet, d'un point de vue éthique, le mot de passe doit etre hashé (voir crypté et hashé pour les paranos).
Par ailleur, préferer un hash sha1 au hash md5.

Pour le ministere de la défense, c'est ptete 128 en effet :) D'ailleur ca m'énerve un peu ca aussi, je comprends le "oulala on craint que vos conversations soient à but pédophiles, terroristes, etc" mais du coup où est la vie privée ? Je n'ai rien à caché, je veux juste un peu d'intimité. Savoir que ce que je dit, il n'y a que moi et le destinataire qui le savent.
Qui te dit que tes meilleures projets que t'a parlé avec ton pote par mail, M$ n'en est pas informé par un contrat illicite avec le ministère de la défense ? :p Ca parrait absure mais quand t'y pense, ca m'étonnerait meme pas ! :p

Commentaire de coucou747 le 28/02/2008 14:53:50

c'est une invitation au troll ?

Commentaire de mldvb le 28/02/2008 15:00:52

Permettez moi de re-situer le contexte, il s'agit d'un site dont les accès sont limités a l'environnement familial. Ce site n'est même pas référencé.

Dans un premier temps j'avais même prévu des mots de passe en clair. Alors les prérogatives de la Cnil ou du ministère de la défense n'étaient pas vraiment mon problème.

Ceci dit je remercie  Codefalse pour ces remarques un peu plus constructives et j'essaierai d'aller voir comment fonctionne ce hash dont je n'avais jamais entendu parler (et oui je débute .)

Quand a Coucou, quand tu dit « j'adore ta source... » je suppose que c'est encore ironique.

Merci tout de même de vous pencher sur mon code.

Commentaire de codefalse le 28/02/2008 15:10:13 administrateur CS

@Mldvb : "Quand a Coucou, quand tu dit « j'adore ta source... » je suppose que c'est encore ironique." => Toi tu va t'attirer les foudres de Zeus !

Ce qu'il à dit était autant voir PLUS constructif que mes commentaires, surtout au niveau du hashage et de l'encodage puisque c'est lui qui à apporté l'idée. Il à donc plus de mérite sur ce point.

Commentaire de coucou747 le 28/02/2008 15:51:34

ok

Commentaire de jadu le 03/03/2008 10:01:05

FREE accepte le PHP5 sans soucis !
Il n'y a rien à demander !
Il faut et il suffit d'utiliser PHP5 sur toutes ses pages PHP !

Sinon, le code a des côtés intéressants pour un ex-débutant ;-))

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 3,058 sec (4)

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