Bonjour,

Je suis dans la phase de sécurisation, un htaccess placé à la racine du site. Je réalise l'url rewriting de la totalité des liens mais un mistère persiste...
Je cherche à sécuriser efficacement, voir le plus possible, ceci :

        <?php
        include("php/entete_general.php");      
        require 'gestion/stt/sttaccueil.php';
        ?>  

comment faire ? auriez-vous des piste de recherche ?

Merci par avance

15 réponses


en quoi ce n'est pas securiser? tu ne mets aucune variable ou autre dans ton include et require ...

Ben on voit l'arborescence et le langage utilisé

bah nan, tu vois pas :D :D

@pluche

Pierre

Bonjour,
Le développeur le verra mais pas le visiteur.
Sauf si tu fais comme ce que woozy disait un
<?php
require($_POST['fichier']);
?>
où là le visiteur fait ce qu'il veut et peut tout voir,
MAis non il ne faut pas faire ça.

Juste pour complèter ce qu'ils ont dit, je pense que tu n'a pas compris ce que fait un include du coté visiteur compte tenu de ce que tu dis.

L'include se charge d'absorber la page dans le include et de la "cracher" dans la page de la ou il est appelé, c'est à dire que le contenu du include est mis dans ta page d'appel.

Et Donc le visiteur ne voyant que la partie générée en HTML , il ne voit en aucun cas s'il y a eut un appel d'une certaine arboréscence ;)
De son coté il voit une page crée rien que pour lui :)

Pour sécuriser les fichiers php, c-a-d ne les rendre accessible que par des include / require mais pas directement depuis une url,
il faut les placer dans un répertoire situé à un niveau supérieur
en gros il faut définir la racine du site non pas sur le dossier du site mais dans un sous-dossier "public"
et au même niveau un dossier "php"
les includes pourront faire ../php/fichier.php tandis q'une url n'autorise pas de remonter par ".."

Oui .... je réfléchis à ce que vous m'indiquez.... et heu si si Whisper Dark je comprends bien le principe de l'include hein
Le fait est que bé ce système comprends des failles sans que je puisse te dire lesquelles exactement hein mais voilà ce truc est certe pratique mais... il faut le sécuriser uavant la "Prod"

Bonsoir.
Ce qu'il faut que tu comprennes, c'est que la personne qui va sur ton site via le navigateur, ne peut pas voir du code PHP, puisque le PHP n'est plus visible lorsqu'il voit tes pages.
Tu devrais commencer par connaitre un minimum les bases, plus précisément la différence entre serveur et client.
Pour donner plus de précisions sur ce que t'a dit Huggy, voilà comment tu devrais faire par exemple :

  • public/
    • css/
    • js/
  • php/

Pour faire simple, tu fais pointer ton serveur sur le dossier public qui contiendra un fichier php qui pourras faire appel aux fichiers php contenu dans le dossier php qui ne seront pas accessibles via le navigateur, de cette manière, seul le fichier php contenu dans le dossier public et les ressources css et javascript (js) seront accessible via le navigateur.

Ben si justement
J'ai demandé à un collègue de pirater le site et avec un version de linux et un logiciel, il à pu lire le code php, entrer sur la base de donnée ect... et il m'a envoyé la photo par sms du code source complet et une autre avec de la base de donnée...

ça lui à pris quinzes jours et bon le mec travaille il à pas que ça à faire,
maintenant à moi de sécuriser tout ça
Alors j'ai commencé avec un htaccess et je fais des réécriture d'url, de lien, je masque les extention ect mais les includes je sèche...

Entrer sur la base de donnée.. hum j'ai du mal à y croire.. à moins d'utiliser le mot de passe : password xD

Puisque tu veux chercher la petite bête, va visionner la formation Mettre en place un serveur Web, tu y trouvera les sécurité à mettre en place pour éviter les attaques autres que celles qui peuvent être faites via le navigateur.

Bonne idée, je vais y jeter un coup d'oeil

Salut,

Au vu de ce tu dis et des informations que ton collègue a récupérées, il y a de fortes chances que tu es un problème coté serveur et pas coté php.

ce n'est pas un probleme d'include ... c'est soit un probleme serveur ... soit un probleme de code a la limite , ou tu ne fait pas de verification sur tes inputs

Ou une faille de type injection SQL, XSS, Csrf, via un import de fichier ou autre surtout avec la première qui permettrait de remonter l'arbo. Surtout si ta bdd est utilisable avec l'user root et non pas un spécifique (je parle bien de l'utilisateur du SGBD ^^).

Si tu donne la possibilité d'upload des fichier vérifie tu bien que c'est un fichier valide ? etc.