Programmation » Création d'un forum : les failles à éviter
Catégorie:  
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 16:49:04,
Par Harkonnen
bon alors voilà : l'idée de créer un forum me trotte depuis un petit moment, seulement y'a un hic ! en effet, je suis nul en développement Web ! je connais pas le PHP, très peu le HTML, et pas du tout les CSS, comme ça je cumule :joce:
tout s'apprend, et je suis prêt à consacrer le temps qu'il faut pour ça.

de toute façon, je compte pas le créer en PHP. un langage qui me permet de faire des trucs comme
  1. $var = "kikoo lol asv"
  2. $var = $var + 1;

ne mérite pas le titre de langage :grin:

donc j'envisage de le créer sous technologie .NET, en utilisant le C#.
je souhaiterais donc connaitre les pièges à éviter pour ne pas me faire hacker, les méthodes de sécurisation, etc... :smile:
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 17:08:20,
Par zion
Pour la petite histoire, c'est pas la majorité, mais les procédures les plus importantes j'ai quand même tout fait en ASM pour mon projet (donc aussi ce forum). Ca permets quand même parfois des choses qu'on a aucune chance de faire en language "évolué" :sweat:

Sinon, pour les choses à faire gaffe
1. Encoder les caractères spéciaux pour éviter des injections jscript dans les messages
2. Ne *jamais* faire confiance dans les paramètres, qu'on fasse un post ou un get, l'utilisateur s'amuse toujours à tout changer...
3. Encoder les ' en \' pour éviter les SQL injections dans tout ce qui est utilisé dans les query (en provenance de l'utilisateur)

Puis après on peut aller dans les protections visuelles, genre les protections pour éviter qu'on bousille le layout (j'en ai un paquet), ou les protections pour éviter les abus (flood et cie), mais je sais pas si ca vaut la peine de commencer à détailler tout de suite, si? :joce:
Je suis le Roy :ocube:
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 17:41:51,
Par Harkonnen
Pour la petite histoire, c'est pas la majorité, mais les procédures les plus importantes j'ai quand même tout fait en ASM pour mon projet (donc aussi ce forum). Ca permets quand même parfois des choses qu'on a aucune chance de faire en language "évolué" :sweat:

je quote pour la postérité !! :grin:
je savais bien que mon idée de forum en asm n'était pas si saugrenue !


Puis après on peut aller dans les protections visuelles, genre les protections pour éviter qu'on bousille le layout (j'en ai un paquet), ou les protections pour éviter les abus (flood et cie), mais je sais pas si ca vaut la peine de commencer à détailler tout de suite, si? :joce:

non, je souhaite uniquement éviter de me faire hacker, le flood ça viendra ensuite :grin:
pour les requetes SQL, tu les as blindées pour éviter le SQL injection ?
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 17:54:16,
Par zion
Pour l'ASM, non, l'idée est saugrenue, mais pour interfacer PHP et Pascal et avoir un truc cohérent et facile à utiliser, a part utiliser de l'ASM j'avais pas le choix... :wink: (Très utile pour convertir les appels de fonction PHP en appels Delphi avec transformation des params et cie).

Les requêtes elles sont blindées à plusieurs niveaux. Le premier, comme je fais tout en OO, un message c'est une classe, et donc pas question de foutre un string sur l'id du topic par exemple, les données sont déjà contrôlées une première fois la, puis j'ai des templates de query dans lesquels je place les valeurs et la tout ce qui est string est entre quote et les \ et ' sont modifiés en conséquence :smile: (Plus des modifications pour accepter des caractères spéciaux comme l'€ et de l'unicode sans que MySQL bousille tout dans un champ texte classique).
Je suis le Roy :ocube:
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 18:37:14,
Par Harkonnen
quand tu as commencé à coder ton forum, je suppose que tu t'es documenté, regardé des sources, etc...
tu aurais quelques liens à me donner, qui t'ont permis de démarrer ? parce que partir de 0 c'est déjà bien chiant, mais en plus, je n'ai aucune idée de ou commencer :sweat:
   
Création d'un forum : les failles à éviter
Publié le 30/01/2005 @ 18:52:38,
Par zion
La première chose à faire ce serait quand même de faire un joli schéma de la base de données. Perso j'ai fait la mienne, puis j'ai regardé celle de phpBB et d'innovision pour voir si ils avaient des trucs en mieux ou en plus.

Après la DB, si tu codes en C#, ce serait pas idiot de faire un forum en OO quand même :wink:

Sinon après j'ai fait morceau par morceau, liste des catégories, puis liste des topics, puis les messages, puis les messages sur plusieurs pages, etc, etc... Et y a encore un paquet de features en DB qui sont pas encore codées dans le forum lui même, mais au moins j'ai de quoi faire pleins de features sans devoir modifier mon schema, il est tout propre dès le début :smile:
Je suis le Roy :ocube:
   
Création d'un forum : les failles à éviter
Publié le 01/02/2005 @ 20:20:19,
Par ovh
zion en quel langage est fait ton forum à part les parties en asm ? J'avoue que je suis très surpris : il tourne sous quel OS ton forum ? Linux ?
Je n'ai rien à voir avec www.ovh.com
   
Création d'un forum : les failles à éviter
Publié le 01/02/2005 @ 21:05:22,
Par zion
Alors, y a un mix de pleins de choses.

Tout d'abord, il y a une extension qui fait entre interface PHP et mes modules. Perso j'ai tout codé en pascal objet, mais comme j'utilise que des interfaces COM, je pourrais très bien utiliser un module en VB ou en C++ sans problème, tant qu'on sait manipuler des objets COM.

Ensuite, y a des templates en XML qui disent comment certaines données doivent être formatées (genre que la propriété x de la classe y on veut afficher la date ou juste l'heure), puis l'extension templates génère une DOM via une autre extension de sortie, ici mon module XHTML (mais j'ai un module PDF ou on sait déjà faire des trucs sympas). Lui à son tour génère le texte final.

Vu que je ne voulais pas tout faire en statique non plus, les templates sont gérés à partir de PHP, ce pourquoi les pages sont en .PHP, mais le PHP est infime (maximum 20k de PHP pour tout le site ici). Le PHP me sert uniquement pour faire l'interface entre les paramètres que je reçois et ce que je dois en faire avec mes jolies petites classes, histoire de pouvoir utiliser les classes dans n'importe quelle situation en changeant juste les templates et un peu le PHP.

Sinon ici il tourne sous Linux + Apache, mais ca tourne aussi sous Windows (+ Apache).
Je suis le Roy :ocube:
   
Création d'un forum : les failles à éviter
Publié le 01/02/2005 @ 21:20:18,
Par ovh
OK je m'y connais pas du tout en COM :oops:
C'est multi-plateforme alors ?
Et un truc comme ça compilé avec Delphi passe sous linux ? T'as utilisé Kylix ???

Dernière édition: 01/02/2005 @ 21:20:52
Je n'ai rien à voir avec www.ovh.com
   
Création d'un forum : les failles à éviter
Publié le 01/02/2005 @ 22:09:16,
Par zion
Oui, Kylix et Delphi :smile:

Le COM c'est ce que j'ai trouvé de mieux (et j'en suis heureux) pour utiliser pleins de classes dans n'importe quel langage... Et surtout de pouvoir manipuler pleins d'objets qui passent par mon extension centrale sans même savoir ce que c'est (sinon pour partager des objets d'un DLL à l'autre ca foire totalement, plantage assuré).
Je suis le Roy :ocube:
   
Création d'un forum : les failles à éviter
Publié le 02/02/2005 @ 23:26:15,
Par Harkonnen
COM est sympa, mais relativement complexe et pas à la portée de tout le monde (notions de POO obligatoires)...
Surtout, je me pose la question sur son avenir depuis l'avènement de .NET
   
Création d'un forum : les failles à éviter
Publié le 02/02/2005 @ 23:32:15,
Par zion
C'est pas comparable quand même...

COM est utilisable partout, tout de suite :grin:
Et tu peux utiliser n'importe quel langage quasi y a toujours moyen de s'en sortir, mais par contre .NET faut un compilo .NET pour ton langage, une machine virtuelle .NET etc, etc... Très bof quand même :kiki:

Et quand on voit le bide au niveau compilo pour le .NET, c'est pas encore gagné, la plupart des développeurs ont même pas encore compris comment ca marche l'OO
Je suis le Roy :ocube:
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?