Accueil­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Tutorial PHP : Partie Sécurité

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Cyrhades
Experimenté
Experimenté


Masculin Nombre de messages: 437
Age: 27
Programme utilisé (Gm/RmXp/...): NotePad
Loisirs: Programmation
Date d'inscription: 03/07/2006

MessageSujet: Tutorial PHP : Partie Sécurité   Sam 15 Juil - 11:44

Salut, petit cours de sécurité en php
ce tutorial suppose que vous savez programmer "convenablement" en php
j'ai mis entre guillemet car pour moi si il y a pas de sécurité c'est pas vraiment savoir programmer

La sécurité en php pourquoi et pour qui ?

La sécurité pour :
- vos données
- votre serveur
- vos visiteurs et vous

Comment se protéger

comme vous le savez nous avons parfois besoin de receptionner des informations
entrés par le visiteur, mais aussi les données entré en parametre dans une url.

Dans tout les cas toutes les données envoyées vers le serveur doivent être vérifié
avant d'être utilisé dans une commande quelquonque lecture d'une base de données,
affichage sur page, etc.

2 exemples
- (vérification d'un mot de passe)
- (ecriture d'un fichier)

Voilà des situations que je retrouve assez souvent malheuresement

vérification d'un mot de passe.
Comment doit on logger un membre

D'une part sachez que l'inscription et le login doivent être fais à l'identique (les même traitement pour éviterdes probleme de login différent.

coté php vous devez réceptionner le login et le traiter de façon que les caracteres soit gérer avant la vérification.
Créez vous une fonction str_replace complete en remplacant les carateres genant par leur homologue HTML
exemple remplacez " par "
ce qui donne :
$valeur = str_replace("\"", """, $valeur);
pour la guillemet vous devez mettre \ car sinon elle utilisé pour la guillemet de fermeture
idem si vous voulez remplacer \ il faut la doubler \\
à vous de savoir maintenant quoi remplacer si vous ne connaissez pas la valeur HTML d'un caractere
allez voir la table ASCCII ou vous trouverez la valeur numerique en html ça fonctionne egalement.

donc vous faite cette verif sur le login et le passe que ce soit au la connection ou à l'inscription

et oui imaginé votre mebre vient s'inscrire son pseudo : <pseudo>
ok vous enregistrez ainsi mais à la vérification vous faite la modification et votre membre lors de la recherche dans la base de données sera &lt;pseudo&gt;

donc en plus il est tres important de protéger votre base de données donc c'est tres tres important de faire cette verification à chaque lecture dans la base de données (même pour une simple lecture)
car quelqu'un de mal intentionner peut faire une injection SQL qui a pour but de changer la commande SQL
(j'vais pas vous faire un cours d'injection SQL la n'est pas le but) enfin sachez que le fait de laisser la possibilité de faire une injection est tres dangereux on peut prendre toute les données de la bdd les effacer, ou même fermer le serveur.


ecriture d'un fichier
J'ai vu oui je vous assure j'ai vu ^^ un forum fais par petit programmeur php qui avait pensé
qu'il était sympa d'écrire son forum lui même, bonne initiative me direz vous.
La particularité de ce forum étant qu'il n'utilise pas de bdd, les forums sont en fait des dossiers
et les sujets des fichiers les réponses se trouvent à la suite du sujet (dans le même fichiers) donc jusque la rien de mechant il est tout à fait possible de faire un forum de ce type totalement sécurisé.
Mais le probleme étant que rien n'était protégé.
j'ai vite compris que pour afficher la liste des sujets c'était le listing du contenu du forum (dossier)

Et donc en marquant direcetement dans la barre de titre le titre du sujet j'obtenais le texte du sujet brut.
Quel horreur les balises sont en claire.
Alors je décide faire un test je vais écrire un message.
mon titre : espion.php
mon message : <?php echo "Ah oui là y a tres grosse faille"; ?>
Envoyé.
Et hop la je vais voir mon message et oh grand malheur je vois seulement
Ah oui là y a tres grosse faille
grand malheur pour le webmaster qui la à laissé un acces complet à son site
on peut tout faire maintenant ecrire un petit script d'upload par exemple pour uploader des fichiers
enfin libre à celui qui veut d'imaginer ce qu'il peut faire (acces totalement complet).

J'ai vite prévenu le webmaster tout de même.

Je suis pas un AS de la sécurité je me débrouilles avec mes quelques connaissance.
Je ne suis pas non plus un hacker (malheuresemnt).
Je bidouille voilà tout si vous avez besoin d'aide je peux rendre service, mais je ne pourrais pas vous garantir une totale sécurité sur un serveur ou sur un site.

_________________


Dernière édition par le Sam 15 Juil - 21:44, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lcproduction.free.fr/
Angel's Dream
Modérateur Langages Web
Modérateur Langages Web


Masculin Nombre de messages: 2855
Programme utilisé (Gm/RmXp/...): GM-6.1, Notepad ++, Flash MX 2004, Fruity loop
Etudes: Seconde Général
Loisirs: Vivre !
Date d'inscription: 04/11/2005

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Sam 15 Juil - 16:21

je croit que le webmaster en question...c'est moi :D XD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cyrhades
Experimenté
Experimenté


Masculin Nombre de messages: 437
Age: 27
Programme utilisé (Gm/RmXp/...): NotePad
Loisirs: Programmation
Date d'inscription: 03/07/2006

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Sam 15 Juil - 17:28

^^ T'es pas le seul ne t'inquiet pas, y en a beaucoup qui font ce genre d'erreur!

comme tu as pu le remarquer j'e t'ai averti plutot qu'exploiter.

Aller bon courage et si t'as besoin d'aide n'hésites pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lcproduction.free.fr/
CyberTwister
Admin - .: el creator :.
Admin - .: el creator :.


Nombre de messages: 2887
Age: 25
Programme utilisé (Gm/RmXp/...): Game Maker
Etudes: Eleve gpx (ENP Sens)
Loisirs: Potes , Gamemaker, Xbox, Bob l'eponge , ...
Date d'inscription: 07/02/2005

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Dim 16 Juil - 20:19

Tuto tres interessant :D

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.Zone-Freegames.com
Cyrhades
Experimenté
Experimenté


Masculin Nombre de messages: 437
Age: 27
Programme utilisé (Gm/RmXp/...): NotePad
Loisirs: Programmation
Date d'inscription: 03/07/2006

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Mar 18 Juil - 23:33

Je travail actuellement sur mon site perso mais je mettrais d'autres tutos du genre si ça peut aider.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lcproduction.free.fr/
NooZ
(ancien Admin) - .: el dictator :.
(ancien Admin) - .: el dictator :.


Masculin Nombre de messages: 3561
Age: 18
Programme utilisé (Gm/RmXp/...): Game Maker
Loisirs: Informatique, Programmation, Guitare electrique
Date d'inscription: 12/02/2005

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Mer 19 Juil - 0:23

Ca pourrait être cool, en tout cas merci pour ce tuto :D
(d'ailleurs, sur ton site : Connection Refusée :D)

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.kromatyk.com/
Cyrhades
Experimenté
Experimenté


Masculin Nombre de messages: 437
Age: 27
Programme utilisé (Gm/RmXp/...): NotePad
Loisirs: Programmation
Date d'inscription: 03/07/2006

MessageSujet: Re: Tutorial PHP : Partie Sécurité   Mer 19 Juil - 9:25

Je fais de la sécurité pas de l'orthographe :p
lol
non merci pour cette petite précision je corrigerais des que je remet à jours

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://lcproduction.free.fr/
 

Tutorial PHP : Partie Sécurité

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Maker Zone :: Programmation/Graphisme :: Programmation web :: Scripts - Exemples-
Poster un nouveau sujet   Répondre au sujet