Sécurité où en est on ?

delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011 - 29 mars 2011 à 12:55
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 - 4 avril 2011 à 19:37
bonjour,
je continue le développement de mon site et j'arrive à un point crucial.
la sécurité !!!
bref, pour rappel, je fais un site d'annonces et je débute le php il y a 6 mois avec ce projet.
m'enfin, j'ai trouvé pas mal de truc mais qui datent.
donc je voulais faire le point.

sur mon site, il y a des formulaires pour entrer des annonces et un moteur de recherche pour les chercher. donc injection sql est ce que le mysql_real_escape_string est suffisant pour tout, sachant que sur ma config serveur (héberge par phpnet)j'ai magic_quotes_gpc en on, magic_quotes_runtime en off et magic_quote_sybase en off aussi

après, il y a les WWW.monsite.fr/page.php?id=XXX. comment je protège ça

puis pour finir, j'ai sur chaque script un include pour la connection à ma BDD quel peut être la parade?

je vous pose ces question car j'ai du mal à trouver des réponses récentes.
merci en tous cas pour les réponses que vous apporterez
@+

17 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 mars 2011 à 14:18
BONJOUR

normalement mysql_real_escape_string() suffit

il y a aussi les injections xss
strip_tags() peut t'aider
si tu veux pas par exemple de faire injecter des javascripts
par un textarea (classique)

ex:
<script>alert('pas de chance');</script>

moi je filtre et j'autorise dans ce genre de site que les caractéres
usuels [] lettres accents chiffres @


ereg() ou eregi
(OBSOLETE depuis PHP5.3.0.)
regardes cette page
http://php.net/manual/fr/function.eregi.php
exemple du manuel
Prevent XXS attack

<?php
// Prevent any possible XSS attacks via $_GET.
foreach ($_GET as $check_url) {
if ((eregi("<[^>]*script*"?[^>]*>", $check_url)) || (eregi("<[^>]*object*"?[^>]*>", $check_url)) ||
(eregi("<[^>]*iframe*"?[^>]*>", $check_url)) || (eregi("<[^>]*applet*"?[^>]*>", $check_url)) ||
(eregi("<[^>]*meta*"?[^>]*>", $check_url)) || (eregi("<[^>]*style*"?[^>]*>", $check_url)) ||
(eregi("<[^>]*form*"?[^>]*>", $check_url)) || (eregi("\([^>]*"?[^)]*\)", $check_url)) ||
(eregi(""", $check_url))) {
die ();
}
}
unset($check_url);
?>

les snippets ne manque pas
a++
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
30 mars 2011 à 09:37
Pour ma part, j'abandonnerai les fonctions mysql_*.. pour à défaut de mysqli_ choisir un connecteur plus sécurisé, comme PDO, Doctrine ou autre ORM..
Et puis va jeter un coup d'oeil sur la notion de sanitize en PHP. C'est une notion qui demande l'apport de librairies qui 'épure' les données d'entrée pour s'assurer que rien ne les compromet.
S.
0
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
30 mars 2011 à 19:12
du coup, je viens d'avoir une idée. ne rigolez pas, je suis encore un débutant quand même.
si coté client, j'interdis des caractères des mots ou des phrase avec du js est-ce utile ou pas ?
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
30 mars 2011 à 20:36
bonsoir

les hackers desactivent le javascript dans leur navigateur ...

a++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
30 mars 2011 à 21:00
ha d'accord
bon sachant que je n'i pas de paiement en ligne ou autre truc payant, je ne pense pas attirer les gros poissons du piratage.
je pense commencer avec un protection simple style COD57 après, dès que j'aurai gagné un peu de sous, je ferai appel à un spécialiste de la sécurité. c'est ce qui me semble être la meilleure solution
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
31 mars 2011 à 12:53
Ils ne sont meme pas obliges de desactiver complement vu qu'ils on acces a tout le javascript ^^ Je me rapelle d'un site ou le click droit etait "interdit" et en une ligne je l'ai reactive.

Du moment que c'est cote client c'est faible niveau secu.
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 mars 2011 à 13:59
0
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
31 mars 2011 à 14:00
J'ai trouvé ça sur le site php.net
est-ce le sanitize dont parle syndrael ?
coté application est suffisant pour éviter les injection?
je la mets en début de script et l'appelle à chaque requete en faisant sanitize_request()???


<?php
// app_config.php

    /**
    *    SANITIZE REQUEST
    */

    function sanitize_request($methods, $array)
    {
        // methods: trim ; addslashes ; stripslashes ; etc...
        // array : $_GET ; $_POST ; etc...

        foreach ($methods as $function) {
            $array = array_map($function, $array);
        }
        return $array;
    }

    if ( ! get_magic_quotes_gpc() )
    {
        $methods = array('trim', 'addslashes');
        $_GET = sanitize_request($methods, $_GET);
        $_POST = sanitize_request($methods, $_POST);
        $_COOKIE = sanitize_request($methods, $_COOKIE);
        $_REQUEST = sanitize_request($methods, $_REQUEST);
    }
?>
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 mars 2011 à 14:38
syndrael a raison mais je precise
à savoir à partir de php version 5.2 attention ...
ici un exemple

http://net.tutsplus.com/tutorials/php/sanitize-and-validate-data-with-php-filters/

a++
0
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
31 mars 2011 à 14:48
COD57, j'ai bien vu les tutos du site mais ils datent et comme en informatique, tout va très vite, c'est pour ça que j'ai créé ce topic.
le site que je développe depuis six mois bientôt en apprenant le php et autres langages, je le fais parce que j'ai eu une idée il y a deux, et qu'au bout de 18 mois de recherche de quelqu'un pour m'aider, je me suis dit que j'irai plus vite en faisant moi même. je veux protéger mon site des personnes mal intentionnées (comme les concurrent) qui pourrait y mettre des bâtons dans les roues.
je n'ai pas les moyens de faire mieux. mon idée n'est pas encore exploité et parmi les nombreuses idées que j'ai, c'est la moins cher à développer(si je m'y prends par moi même)
comme quoi, on peut avoir des idées, si on a pas l'argent, c'est difficile de les appliquer.

pour revenir à la sécurité, je m'y penche depuis quinze jour et ce que je trouve sur le net, me fait peur. si la méthode sanitize juste au dessus est bonne, je l'ajouterai au mysql_real_escap....

si cela me sert, j'imagine que ça servira pour de nombreux autre développeurs
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 mars 2011 à 16:47
@j'ai bien vu les tutos du site mais ils datent ...

oui mais actuellement on est à php 5.3 et sanitise() restent d'actualité
le developpement de php est suspendu pour l'instant ... php6 n'a pas accouché !

pour casser ces fonctions faudrait vraiment des pros qui te veulent du mal ... et je doute qu'ils y arrivent sans complicité
il existe des réducteur/obfuscateur/encodeur/crypteur

http://www.raizlabs.com/software/phpobfuscator/

il faut pas devenir parano sinon on fait plus rien

@les concurrents
là c'est juridique plutôt le notaire, l' inpi ... (enveloppe soleau ...)
http://www.commentcamarche.net/faq/4945-mythes-copyright-il-est-necessaire-de-deposer-a-un-organism
... c'est ça ta vrai sécurité

a++
0
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
31 mars 2011 à 16:59
c'est pas tant l'idée que je veux protéger, je suis même pour le partage des ressources.
c'est surtout qu'en prenant un peu de part de marché au gros, je me fasse pirater pour pourrir mon site.
après tout ce que j'ai lu (sur ce site en grande partie), je pense pouvoir réussir, je manque encore d'assurance dans mes codes et la securite, pour avoir été pompier et accidenté sur moto, je sais que se n'est pas a prendre à la légère, même sur un site web.
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 mars 2011 à 17:00
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 mars 2011 à 17:18
@je me fasse pirater pour pourrir mon site.

si le pirate est en France il risque gros
aus states c'est prison et amende de plusieurs milliers de dollars
pour les spammeurs et hackers
tu peux même porter plainte contre ton hebergeur

il y a des lois

http://www.geekozor.com/hacker-russe-prison.html

http://auvergne.france3.fr/info/hacker-croll-condamne-a-de-la-prison-avec-sursis-63798631.html

http://www.symantec.com/region/fr/resources/cybercrime.html

a++ bne prog
0
delfti Messages postés 20 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 11 juin 2011
31 mars 2011 à 20:37
ok, je te remercie en tous cas, cela m'a permis d'en apprendre énormément.
j'espère lancer mon site dans trois semaines lorsque j'aurai sécurisé un peu mon site quand même
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
31 mars 2011 à 21:32
Donc on attend ton retour d'ici trois semaines pour faire ta pub et nous faire découvrir ton site..
Bonne chance !!
S.
0
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
4 avril 2011 à 19:37
Bonsoir,

un peu étonné que personne ne disent il y a la fonction filter_input depuis php5.2 (la doc) enfin si ca peut servir à quelqu'un.

bonne soirée
0
Rejoignez-nous