Hébergement du site en PHP et Mysql par WDMédia-hébergement
Vous aussi adpotez les éléPHPants de Vincent Pontier !
WDMedia-Hebergement
 


Rechercher dans le forum

Mots-clés :

Trouver :
un de ces termes tous les termes

Depuis :
7 j 15 j 30 j


Retour à l'index du forum

code page sécurisée pour accès forum phpBB

Message original de jimble

Le : 28/08/2008 à 18:55:37

Dejà lu 8922 fois avant vous

Bonjour,
Petite introduction afin de mieux décrire ce que je cherche à réaliser :)
Je souhaite mettre en place un forum familiale. En effet nous sommes « éparpillez » à travers le monde avec des fuseaux horaires différents et la solution d'un forum où tous les membres de la famille peuvent laisser leurs messages pour tous selon son propre rythme de vie s'avère la plus simple et la plus pratique.
Je vis en France et mon fournisseur d'accès est Free. J'ai donc installé un forum phpBB et utilisé l'activation automatique de la base de données Mysql. Les tables ont donc été crées automatiquement. Je souhaite mettre en place une page d'accès sécurisée avec login et pass.
Je me suis donc mis à la recherche d'une solution et j'ai trouvé divers tutaux dont celui-ci http://www.phpdebutant.org article69.php. J'ai créé la page html du formulaire, puis la page php de contrôle verifLogin.php. Mais dans cette même page je ne vois pas ce que je dois modifier pour faire le lien avec la bdd générée par Free. En observant la bdd j'ai bien remarqué la table phpbb_users, qui contient mon login et mon pass (en crypté) mais je ne sais comment faire le lien avec le formulaire.
Merci d'avance pour le coup de pouces :)

Re: code page sécurisée pour accès forum phpBB

Réponse de Ben

Le : 28/08/2008 à 19:34:20

Salut,
Je ne suis pas un pro mais à priori je dirais qu'il manque la connexion à la base de données.
Cela devrait plutot ressembler à ça, à toi de changer les login, mot de pass et nom de la base de données.

<?php
// On démarre la session
session_start();
$loginOK false;  // cf Astuce

// On n'effectue les traitement qu'à la condition que 
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

  
extract($_POST);  // je vous renvoie à la doc de cette fonction

  
$host="sql.free.fr";  // A l'époque ça ressemblait à ça
  
$login=""// Nom d'utilisateur
  
$pass="";  // Mot de pass
  
$base="";  // Nom de la pase de données
  
  
$db mysql_connect("$host""$login""$pass");
  
mysql_select_db("$base",$db);

  
// On va chercher le mot de passe afférent à ce login
  
$sql "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'";
  
$req mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
  
  
// On vérifie que l'utilisateur existe bien
  
if (mysql_num_rows($req) > 0) {
     
$data mysql_fetch_assoc($req);
    
    
// On vérifie que son mot de passe est correct
    
if ($password == $data['mdp']) {
      
$loginOK true;
    }
  }
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
  
$_SESSION['pseudo'] = $data['pseudo'];
  
$_SESSION['age'] = $data['age'];
     
$_SESSION['sexe'] = $data['sexe'];
  
$_SESSION['ville'] = $data['ville'];
}
else {
  echo 
'Une erreur est survenue, veuillez réessayer !'
}
?>



Je pense qu'après ç asera bon ;p

Re: code page sécurisée pour accès forum phpBB

Réponse de moogli

Le : 28/08/2008 à 20:28:39

salut,

normalement phpbb suffit pour faire tout cela.

si tu souhaite vraiment interdire tout accès je te conseil HTACCESS

@+

Re: code page sécurisée pour accès forum phpBB

Réponse de jimble

Le : 28/08/2008 à 20:44:40

merci pour ton aide :)

voilà, j'ai remplacé le code de verifLogin.php par celui que tu m'as fourni. Aprés modification des login, mot de pass et nom de la base de données puis suppression de "$_SESSION['age'] = $data['age']; $_SESSION['sexe'] = $data['sexe']; $_SESSION['ville'] = $data['ville'];", j'ai ces messages d'erreurs :

Warning: session_start() [function.session-start]: open(/mnt/102/sdb/e/4/mon_nom_admin_mysql/sessions/sess_507840d2cfde2c32c9e4b83a00ba89e1, O_RDWR) failed: No such file or directory (2) in /mnt/102/sdb/e/4/mon_nom_admin_mysql/nom_du_repertoire_de_phpBB/verifLogin.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/102/sdb/e/4/mon_nom_admin_mysql/nom_du_repertoire_de_phpBB/verifLogin.php:3) in /mnt/102/sdb/e/4/mon_nom_admin_mysql/nom_du_repertoire_de_phpBB/verifLogin.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/102/sdb/e/4/mon_nom_admin_mysql/nom_du_repertoire_de_phpBB/verifLogin.php:3) in /mnt/102/sdb/e/4/mon_nom_admin_mysql/nom_du_repertoire_de_phpBB/verifLogin.php on line 3
Erreur SQL :
SELECT pseudo, mdp FROM user WHERE login = 'mon_nom_admin_mysql'
Warning: Unknown(): open(/mnt/102/sdb/e/4/mon_nom_admin_mysql/sessions/sess_507840d2cfde2c32c9e4b83a00ba89e1, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/102/sdb/e/4/mon_nom_admin_mysql/sessions) in Unknown on line 0

Si je clic sur [function.session-start] j'obtiens une page free 404.
A ce propos je ne comprends pas pourquoi ni dans le code index.html ni dans verifLogin.php il n'y a de lien vers l'adresse du forum phpBB, comment ce fait la redirection ?

Re: code page sécurisée pour accès forum phpBB

Réponse de luce

Le : 28/08/2008 à 22:35:27

Salut,

Sur free, tu dois créer un repertoire session à la racine de ton ftp si tu utilises les sessions (voir free pour le nom exact du repertoire à creer).

Personnellement, pour ton cas "particulier", je te recommanderais de prendre un hébergement payant, pour une 30aine d'euro chez wdmedia http://www.wdmedia-hebergement.net/offre-double.html (24 euro et ajoute le prix du nom de domaine, c'est le grand manico le responsable (de "ce" site => les 2, wdmedia et phpdebutant) ou alors une 50aine d'euro chez ovh http://www.ovh.com/fr/particulier/produits/90plan.xml pour avoir un nom de domaine "MaFamille.fr" par exemple, et avoir un grand nombre de compte email pour offrir aux membres de la famille. Je trouve ça plus sympa quoi !

Sinon comme moogli, un .htaccess pour bloquer l'acces, c'est bien mieux, surtout que phpbeurkbeurk, c'est plein de faille de securité, donc ca ne sert pas à grand chose de faire un script php...

Re: code page sécurisée pour accès forum phpBB

Réponse de moogli

Le : 29/08/2008 à 11:04:16

le répertoire sessions (de mémoire ;))

@+

Re: code page sécurisée pour accès forum phpBB

Réponse de jimble

Le : 31/08/2008 à 15:40:32

Bonjour et merci de vos réponses :)

J'avais bien pensé héberger mon forum ailleurs que sur Free, mais pour l'instant, comme je n'ai pas le temps nécessaire à l'apprentissage des bases php/mysql, je souhaite aller au plus simple. Ce sera une prochaine étape ;)

Suite à vos réponses j'ai créé un répertoire "sessions" à la racine de mon FTP. Je n'ai maintenant plus les mêmes messages d'erreurs. C'est déjà un pas de franchi :)

Maintenant j'ai ce message d'erreur:

Erreur SQL :

SELECT pseudo, mdp FROM user WHERE login = 'mdp_de_ma_bdd'

Mon mdp est pourtant bon. Je ne sais si je dois modifier quelque chose dans cette ligne de code qui rappelle l'erreur SQL?

$sql = "SELECT pseudo, mdp FROM user WHERE login = '".addslashes($login)."'";

merci encore pour votre aide.

Re: code page sécurisée pour accès forum phpBB

Réponse de jimble

Le : 31/08/2008 à 15:55:14

petite erreur de ma part

Ce n'est pas : SELECT pseudo, mdp FROM user WHERE login = 'mdp_de_ma_bdd'
mais : SELECT pseudo, mdp FROM user WHERE login = 'pseudo_de_ma_bdd'

Re: code page sécurisée pour accès forum phpBB

Réponse de luce

Le : 31/08/2008 à 17:17:56

Salut,

Heu, bon, c'est mon avis, mais ca vaut ce que ca vaut :
Il faut être ABSOLUMENT CON pour utiliser le login SQL comme login pour un forum, surtout un phpbeurkbeurk.

Pourquoi, parce que pour utiliser une attaque style BRUTAL FORCE, tu donnes déjà le login, donc c'est ça de moins à chercher, il a juste à chercher le mot de passe.

Si tu ne sais pas ce que c'est que "BRUTAL FORCE", un petit tour chez wikipedia :
http://fr.wikipedia.org/wiki/Attaque_par_force_brute

Ensuite, tu as voulu sécurisé ton script, avec un addslashes, mais malheureusement, en utilisant cette fonction pour sécurisé ton script, tu as créé une faille de sécurité au niveau de l'injection SQL (%BF27 pour être précis).

Donc, je pense pas que tu dois chercher le login de ta base sql au niveau de la requete.
Perso, je vois pas du tout à quoi sert ce script...

Re: code page sécurisée pour accès forum phpBB

Réponse de jimble

Le : 31/08/2008 à 17:54:36

Bonjour,

Effectivement "ca vaut ce que ça vaut"

Je cherche juste à mettre en place une page html style formulaire "devant" un forum phpbb, page qui ne sert qu'à se logger.

Ensuite comme je n'y entends rien en php/mysql, j'utilise des outils "prêt à l'emplois", je parcours le web pour trouver des pistes et des tutaux et lorsque je "bute" hé bien je m'en remets à l'amabilité de membres de forums tels que PHPdébutant.

J'ai trouvé ce script sur ce même forum et je cherche tout simplement à faire en sorte qu'il fonctionne dans ce cas de figure.

Donc quand je lis: $host="sql.free.fr"; // A l'époque ça ressemblait à ça

$login=""; // Nom d'utilisateur

$pass=""; // Mot de pass

$base=""; // Nom de la pase de données

Que veux-tu que je mette? Ne serait-ce que pour tester.

Je suis toujours à la recherche d'une solution, alors si tu as une idée et que tu es prêt à me l'expliquer, je suis preneur.

Merci

Re: code page sécurisée pour accès forum phpBB

Réponse de luce

Le : 31/08/2008 à 19:16:35

Re,

Ce que je veux dire, c'est que l'on utilise JAMAIS addslashes() dans une requete sql si on veut sécuriser la requete, mais : mysql_real_escape_string()

Ensuite, sans préter attention a la partie connexion à sql, mais juste au niveau de la requete, tu cherches à recupèrer le pseudo avec comme indice de recherche, le pseudo.

Tu trouves pas ça un peu con ?

Maintenant, vu que tu utilises $login dans ta requete, c'est que le $login des identifiants à la base de données que tu essayes de recupèrer, ce qui est encore plus con en faites, vu que pour sécuriser ta base de données, tes identifiants à celle ci doivent rester secrete (login et pass) sinon, tu facilites le boulot des hackers.

Ensuite, chose que je n'avais pas vu, et c'est franchement de l'abus (2 $_POST), c'est la fonction extract() !
Encore une faille de sécurité, je te laisse lire l'avertissement sur http://www.php.net/extract

Pour finir, il y a de forte chance pour que googlebot et autres, puissent passer l'identification, je le sais, les forums sous phpbeurkbeurk, ou l'inscription est obligatoire, je les consulte via le cache de google.

Voila, donc en plus d'être incohérent, ton script à déjà 2 failles de sécurité.

(Toutes mes excuses à Ben qui a fait le script, je viens de m'en apercevoir)

Mais bon, ton script de forum est le script le plus pourri pour faire un forum, essayer de faire quelques choses de propre est impossible, et surtout, faire ce que tu souhaites est totalement inutile vu que tu bloqueras l'accès juste aux personnes qui ne connaissent pas google cache, soit, très peu de monde.
Malheureusement, PHPBEURKBEURK est le script le plus connu au monde !

Le mieux, et le plus simple, c'est soit changer de script (c'est une recommandation) par un SMF, PUNBB et j'en passe, qui eux, si tu refuses l'accès aux non membres, ne les laissera pas accèder à ton forum via le cache de google, soit d'utiliser une identification par .htaccess, qui est très simple à mettre en plus, ca bloquera tout ce qui n'a pas les codes d'identification valide, et ca se met en place en 30 secondes !

Franchement, comme Moogli, fait un .htaccess !

Re: code page sécurisée pour accès forum phpBB

Réponse de jimble

Le : 31/08/2008 à 19:44:45

Merci pour tes conseils :)

Je ne suis pas "marier avec phpbb ;) Je suis tout à fait prêt à changer de script.

Si je comprends bien ce serait soit phpbb+ htaccess soit un autre script. Lequel me conseil_tu ?

je vais déjà aller faire un tour vers SMF et PUNBB

Re: code page sécurisée pour accès forum phpBB

Réponse de ben

Le : 31/08/2008 à 19:49:26

Salut,

Pour info ce n'est pas mon script mais celui de l'article69 auquel j'ai ajouté la connexion à la bdd et que nôtre ami n'arrivait pas à utiliser.

Cordialement,

Re: code page sécurisée pour accès forum phpBB

Réponse de luce

Le : 31/08/2008 à 21:00:48

Aie !

/me va se faire taper sur les doigts !

Non mais c'est vrai que ca date de 2004.

Manico m'a dit qu'il va revoir tout phpdebutant.. quand il trouvera le temps !

C'est vrai par contre, que extract() et addslashes() il ne faut vraiment pas les utiliser dans ces cas là !!!

Pour ce qui est du forum, j'adore PUNBB parce qu'il n'a pas d'option !!!

Oups, d'ailleurs, j'ai fait une grosse connerie, c'est pas PUNBB qu'il faut prendre !!! Mais FLUXBB !!!

Pour la petite histoire, l'admin de punbb s'est vu proposer une offre pour le rachat de punbb, pas con, il a sauté sur l'occass tout en sortant la nouvelle version de PUNBB sous le nom de FLUXBB.
il y a des chances pour que PUNBB devient payer, mais le créateur de Punbb est maintenaut celui de Fluxbb.

Quoi qu'il en soit, la version FR c'est ici http://www.punbb.fr/forums/index.php

Ce que tu fais, c'est un forum public, avec interdiction de poster, et tu mets un message comme quoi c'est un forum privé, et que les inscriptions sont validés manuellement.
puis pour les membres validés, tu crées les forums.

Plus besoin de ton script d'identification.
Retour à l'index du forum


Ajouter une réponse

Nom :

Email :

Titre :

Message :

Combien font 3 + 4 ?

Mise en forme : gras = [b]...[/b], italic = [i]...[/i], souligné = [u]...[/u], citation = [quote]...[/quote], lien = [url]liens_externe[/url] ou [url nom=texte]liens_externe[/url], code source : [code]...[/code]

Recevoir les réponses par mail :
Oui Non

Mémoriser mon nom et mon email :
Oui Non

 

Charte des forums PHPDébutant

Bienvenue à vous,

Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.

Attention, à partir du moment ou vous postez dans les forums, vous acceptez la présente charte. Si votre message est modéré ou supprimé, vous ne pourrez pas dire que vous n'étiez pas au courant des règles !

Pourquoi une charte

Le but de cette charte est simple : que ces forums restent cordiaux et que les personnes aidant les autres ne se sentent pas lésées, insultées, critiquées. Pour que ces forums fonctionnent, il faut des personnes qui répondent aux questions. Pour que celles ci restent sur le forum, il faut les traiter avec respect, et ne pas les confondre avec des bonnes poires, esclaves, etc...

Mesures de régulation

  • Un nouveau message ne disant pas bonjour, ou insultant, dont le titre est tout en majuscules, pourra être supprimé sans justification (raisons non limitatives).
  • Prenez le temps de vérifier que la question que vous allez poser n'a pas déjà été posée, à l'aide du formulaire de recherche.
  • Prenez également le temps de vérifier que la réponse à votre question ne se trouve pas dans les tutoriaux. Nous ne pouvons pas répeter pour chaque visiteur tous les cours, il sont écrits, profitez-en (dans l'ordre tant qu'à faire) !
  • Nous ne faisons pas de scripts tout prêts. Nous aidons et vous guidons pour que vous puissiez trouver vous même la réponse, ce qui est beaucoup plus formateur.
  • Si vous comptez poster un message publicitaire, abstenez-vous. Au mieux le message sera supprimé, au pire les habitués descendront votre service en flamme.
  • Pour tout message de recrutement, précisez bien votre demande. Inutile de poster pour trouver un développeur pour faire gratuitement votre site de webmastering qui vous rapportera plein de sous. Les seuls coups de mains donnés en développement sont pour des associations ou des sujets passionnant un développeur.
  • Toute personne tenant des propos racistes ou illicites sera bannie et pourra faire l'objet de poursuites.
  • L'humour étant très présent sur ces forums, ne réagissez pas violemment à des propos qui pourraient être à prendre au second degré et avec de l'humour.
  • Attention aux trolls ! Leur multiplication peut entraîner la mort des forums, et sans forum, plus d'aide !
  • Respectez les thèmes des forums. Pensez aussi à vérifier que votre message n'a pas été déplacé si vous le croyez effacé.

Conseils

  • N'oubliez pas que les personnes à qui vous vous adressez sont des bénévoles qui donnent de leur temps pour vous. Si vous êtes méchants avec eux, il n'aideront plus et vous n'aurez plus d'aide !
  • Ne soyez pas pressé. Nous avons une vie aussi, et nous ne sommes par forcément tout le temps disponibles.
  • N'oubliez pas que les smileys sont la pour faire comprendre l'humeur dans laquelle vous rédigez un message. Il est indispensable de mettre des smileys quand vous faites de l'humour, sinon le message pourrait être mal perçu (ca serait quand même idiot de plomber l'ambiance en faisant de l'humour !).
  • Surveillez votre orthographe, nous ne vous demandons pas d'être littéraire, mais que votre message soit au moins compréhensible. Evitez à tout prix le style SMS.
  • Expliquez clairement le problème, ce n'est pas toujours facile, mais mieux vaut essayer de le faire le plus possible.
  • Ne postez pas de questions trop vagues du genre "comment faire un forum". Cela ne sert à rien, cela ne s'explique pas sur un coin de forum.
  • Mettez un titre clair, correspondant au sujet que vous allez poster. A l'aide, au secours, etc... ne sont pas d'une grande utilité pour ceux qui vont vous aider. Parfois nous passons en coup de vent, et si nous ne savons pas ce que va contenir le message, nous ne le regarderons même pas.
  • Ne mettez par [URGENT] ou autre joyeuseté du genre dans vos titres de messages. Cela irrite les gens (il y'a plus urgent dans la vie, pensez aux gens qui meurent de faim ou ayant besoin des pompiers, ça c'est urgent), et vous n'aurez pas votre réponse plus vite pour autant.
  • Si vous connaissez déjà à quel domaine votre question d'adresse (par exemple mysql, html, php, javascript), n'hésitez pas à le marquer au début de votre message, avec un [html] par exemple (notez les minuscules).
  • Ne dites pas "ça marche pas". Il y a toujours des raisons. Je vous invite à consulter le tutorial "ça marche pas" qui vous aidera à mieux expliquer votre problème.
  • Ne postez pas 36000 lignes de code. Sur le forum, le code apparaît non coloré et sans indentation, ce qui est illisible. Au dessus de 5 lignes, plus personne ne lit et vous n'aurez pas de réponse. Utilisez le wall
  • En règle générale restez courtois et clair, n'oubliez pas que la politesse fait partie de la vie courante. Il est de bon ton de dire bonjour même pour une réponse, même plusieurs fois dans la journée (ceux qui vous lisent n'ont pas forcément lu vos autres messsages)

La Fin

Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité

Voilà, ça sera tout, bonne écriture :)

Fermer les règles et poster un message


www.phpdebutant.org © 2012 - L'équipe de phpDebutant - Hébergement : WDMédia-hébergement