IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] [Sécurité, gestion de ressource] Premier site php, demande de conseil


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut [Sécurité] [Sécurité, gestion de ressource] Premier site php, demande de conseil
    Bonjour,

    Je me suis lancé il y a déjà 6 mois dans l'apprentissage du php en liaison avec une base de donnée mySQL.
    J'ai du le faire pour développer un vrai site dynamique pour ma webradio qui en a besoin pour sa crédibilité vis a vis de futur partenaire mais aussi des auditeurs et des producteurs associés.

    Le cahier des charges étant monstrueux et mes connaissances en cours d'acquisition j'ai codé comme je le pouvais mais j'ai aujourd hui besoin d'une aide compétente afin de finir au mieux le site et de faire certains choix stratégiques niveau gestion des ressources.
    Merci beaucoup déj pour le topic d'optimisation qui me servira énormément.

    Je vais décomposé mon post en deux parties, la première pour présenté certains choix que j'ai jugé bon et j'aimerai tout de meme avoir votre avis.
    Le second très important pour moi pour poser certaines questions qui se posent aujourd hui et dont les réponses pourraient me faire gagner un temps précieux, sachant que je devais déjà sortir le site en janvier lol!

    Première partie: Mes choix et vos commentaires sur ces choix.

    [1_Choix1] Le recueil des commentaires par fichier cache
    Sur mon site lorsqu'un morceau passe par exemple le visiteur peut faire un commentaire, j'ai décidé d'utiliser un systeme de fichier cache, c'est à dire que j'enregistre le commentaire non pas dans une base de donnée mais dans un fichier texte.
    J'ai fais ce choix pour ne pas surcharger ma base de donnée.
    Est ce un choix judicieux? Aurai pu le faire dans une base de donnée ou la taille aurait été trop énorme???

    [1_Choix2] La sécurité:
    La sécurité de mon site est basé sur des concepts simples.
    J'ai d'abord développé un formulaire de login très très solide niveau conception.
    Ensuite je base ma sécurité sur le fait d'etre connecté meme si je sais qu'une session peut etre volé.
    Pour des zones sensibles je double la sécurité par éventuellement un cookie et aussi en évitant les transmissions GET.
    Pour les formulaires j'essaye totu d'abord de les sécurisés en javascript au maximum et ensuite de faire un controle avant inscription SQL.
    Je n'ai pas encore par contre sécurisé le rajout de commentaire mais celui ci nécessite la connexion. Dois je tout de meme rajouter un sécurité? (un temporisateur par exemple?).
    Que pensez vous de ma politique de sécurité?

    [1_Choix3] Double contrainte connexion serveur, connexion base de donnée!

    Le challenge est énorme pour mon premier site car en plus des ralentissements de connexion a la base de donnée, tout le site se base aussi sur les info envoyé par le serveur radio!
    J'ai développé une série de page qui ont ces deu connexions.
    En parallèle pour les pages nécessitant un grosse connexion SQL je les isole complétement.
    Avez des idées pour optimiser ces deux connexions?

    PArtie 2; Help!!

    [Help1] Gestion des profils utilisateurs, des descriptions des morceaux, des descriptiosn émissions
    Il me reste cette partie a faire qui est très importante.
    Le contenu textuel va être conséquent.
    Je voudrai que l'on m'aide a faire un choix.
    Soit entre stocké ca dans une base de donnée mySQL mais j'ai peur de la taille des info? suis je limité en taille de base de donnée quand l'hébergeur ne précise pas de taille limite de base??
    Soit stocké ca en fichier cache?
    Ou en xml mais je ne sais pas faire.

    A mon avis le meilleur choix serai du xml.
    Prenons un exemple, pour la description des morceaux.
    Voici les champs:
    * Artiste
    * Titre du morceau
    * Genre
    * Date de sortie
    * Image de la pochette (sous forme d URL)
    * Auteur de la description (1 ou 0)
    * Description (mini 150 caractères).
    Comment m'en sortir avec tout ca??
    Disons que j'arrive a faire du xml avec les balises puis je ensuite récupérer les infos pour un morceau dans le rfichier xml et les placer dans un template? ou une simple feuille php générant une page de présentation?
    J'ai un besoin urgent de conseil pour ca!

    [Help2] Gestion des votes
    J'ai besoin de gérer les votes utilisateurs sur les morceaux.
    J'ai déja développé une solution et en ai une autre en tete pour permettre la compression des votes.
    J'aimerai avoir votre avis aussi la dessus, je veux pouvoir sur une semaine affiché un graph d'évolution, entre les mois mettre une petite image pour dire si le classement monte ou descend.
    Je sais déja faire des graphiques la n'est aps la question
    Ensuite si par exemple tout les mois j'ai besoin de lancer un code php de compression de ma base de vote (compression maison pas la compression du SQL enfin peut etre aussi mais la n'est pas la question).
    Comment lancer ce code? j'ai pensé mettre une vérif sur la date et a lancer le code pour le premier connecté a partir de minuit par exemple.

    J'aurai d'autre question mais la ca fait pas mal déja!
    SInon j'ai que des adresses msn de musique lol si des gens veulent me rajouter pour me tirer de sale difficulté ca serai avec plaisir!

    Merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Bonjour,

    Tout d'abord, pour le [I) 1] :

    Les bases de données, quand ce n'est pas indiqué, ne sont pas limité, et même quand c'est indiqué, en faite cela correspond plus au poids maximum, que l'hébergeur garanti, pour un fonctionnement normal de la BDD, au delà de ce poids, les données peuvent être tronquer/supprimer et la BDD est souvent accompagner de ralentissement...
    Donc il faut faire ce qui te parait le plus logique en fonction du poids que tu estimes que ça va prendre ... (Je suis vraiment pas sûr, mais je pense que chaque caractères équivaut à 1 octet)
    Maintenant il faudrait être asser stupide (ou alors être un fou, c'est souvent très proche, de même que le génie) pour afficher 50 news par page avec les commentaires qui vont avec ... Et tu peux très bien supprimer les commentaires avec plus d'un mois d'ancienneté.
    Car ton fichier texte aura (en gros) le même poids que ta base de donné ... donc si tu te retrouve avec un fichier de 5mo (ça monte vite :p) pour afficher quelque chose, ça commence à prendre pas mal de temps .

    Pour ce qui est de la sécurité [I) 2] :
    La FAQ PHP sur la sécurité est faite pour toi .

    Le [I) 3] :
    Désolé, j'ai rien compris :p

    Les profiles [II) 1] :
    Généralement tu limites les signatures à 255 caractères, les liens d'images ne font rarement que plus de 50 caractères, etc ...
    C'est vraiment pas lourd, même pour 10.000 inscrits.
    De plus, tout hébergement doit évoluer en fonction de la popularité du site, un site avec 5K de visiteurs (j'exagère) ne peut pas rester sur un hébergement comme FREE.

    Les votes [II) 2] :
    Pas trop compris, et j'ai jamais fais de truc comme ça, peut pas vraiment t'aider :').

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Merci pour ta réponse ca m'éclaire pas mal sur la taille conseillé des bases.

    Tout les commentaires sont déja mis en fichier cache j'ai de suite refusé l'idée de mettre ca en base de donnée. (la politique du site pompe déja trop a mon gout sur la base pour tout ce qui est gestion du live de la radio, du planing, du classement etc).

    Quand tu dis cela:
    "Car ton fichier texte aura (en gros) le même poids que ta base de donné ... donc si tu te retrouve avec un fichier de 5mo (ça monte vite :p) pour afficher quelque chose, ça commence à prendre pas mal de temps"
    tu trouves que je devrai comme meme utiliser une base de donnée? ma solution de fichier cache n'est pas la bonne?

    Pour le II 1,
    Donc oki pour une URL 50 est un bon chiffre..
    Je pensai faire autrement avec un upload d'image mais je suis toujours rétiscent a l'upload.
    Par contre il n'est pas question du tout de signature mais de véritable fiche (particulièrement pour les morceaux et leur description) donc vraiment j'aimerai bien avoir un avis sur le XML et sachant que je ne connais pas si je peux pondre rapidement un truc viable (disons en moins de 20 heures).

    J'ai un a priori qui est que: les fichiers caches et le XML sont beaucoup plus rapide et pompe moins sur le serveur par rapport a des connexions bases de données.
    Est ce une fausse idée?

    Dans un xml puis je supprimer un champs comme je le souhaite?
    Pour mes fichiers caches de commentaires j'ai utilisé l'écriture dans un fichier et meme la création de fichier.
    Chez un hébergeur comme NUXIT ou OVH ces manipulations sont elles susceptible de poser problèmes?
    Avez vous une astuce pour faire l'écriture sur le début du fichier et non la fin car mes commentaires se rajoute toujours a la fin, puis je utiliser un pointeur pour l'écriture?

    Je demande juste des conseils pas du code, afin que je ne cherche pas dans la mauvaise direction!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Test toi même :')

    Utilise ça en début de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function getmicrotime() {
    	list($u_s, $s) = explode(" ",microtime()); 
    	return ((float)$u_s + (float)$s); 
    }
    $tmp_dbt = getmicrotime();
    et ça à la fin de ta page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
       $tmp_fin = getmicrotime();
       $tmp = $tmp_fin-$tmp_dbt;
       echo '<center>Page g&eacute;n&eacute;r&eacute;e en : '.round($tmp,4)." seconde(s).</center>";
    ?>
    P.s : MySQL > Fichier txt :')

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Oui tu as raison je vais utiliser ces petits codes merci encore! car je ne les avais jamais utilisé et un jour ou l'autre j'en aurai eu besoin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sécurité de mon premier site
    Par rigauxt dans le forum Sécurité
    Réponses: 0
    Dernier message: 28/02/2011, 01h25
  2. Sécurité site php : injection code malicieux
    Par hx.jonathan dans le forum Langage
    Réponses: 9
    Dernier message: 05/04/2010, 15h26
  3. mon premier site php/mysql
    Par SpaceFrog dans le forum Mon site
    Réponses: 4
    Dernier message: 10/02/2008, 03h58
  4. Réponses: 6
    Dernier message: 31/01/2006, 13h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo