Bonjour à tous, Tout d'abord, je demande votre indulgence car je pense qu'il s'agit d'un problème de configuration windows plutôt que wamp.
Ce que je souhaiterais c'est pouvoir mettre des fichiers lisible en CHMOD 600 par wamp afin de me permettre de travailler en local. (par ex : private.key ou des .pem)
J'ai donc modifié les options de sécurité de mon fichier : 1. Désactivation de l'héritage 2. Suppression de tous les utilisateurs (Soit Administrateur, Utilisateurs et Utilisateurs Authentifiés) sauf l'utilisateur Système qui lui a tous les droits.
Mon code PHP pour déterminer le CHMOD est : $path = 'C:\chemin\vers\mon\dossier\private.key'; $perms = decoct(fileperms($path) & 0777);
Une fois testé, la réponse renvoyée est '666', donc je ne comprends pas.
Est ce vraiment l'utilisateur système auquel il faut octroyer les droits ou bien un autre? J'ai l'impression que oui puisqu'il peut atteindre le fichier.
Voilà je vous remercie par avance de votre aide si vous avez une idée.
Cordialement, Fred
Ma config : Windows 10 (x64) | Wamp 3.3.6 (x64) | Apache 2.4.54.2 | Php 8.1.13 | Mysql 8.0.31 | PhpMyAdmin 5.2.0 | Netbeans IDE 18
Pourquoi vouloir changer les autorisations des fichiers ?
Les certificats et fichiers .key ou .pem générés par le mode https automatique ou manuel de Wampserver fonctionnent sans aucune modification des droits.
En réalité, j'essaie d'intégrer une API OAuth 2.0 (Package League) a mon application web mais compte tenu du fait que mon Virtualhost n'est pas en https, cela doit poser problème.
Je n'ai pas trop de temps en ce moment mais dés que possible je met à jour ma version de wampserver vers 3.3.6 (sans faire évoluer apache) puis passe mon Virtualhost en https ce qui, je pense, devrait régler mon problème.
Je reviendrais ensuite vers vous, j'espère, pour clôturer le sujet.
Cordialement, Fred
Ma config : Windows 10 (x64) | Wamp 3.3.6 (x64) | Apache 2.4.54.2 | Php 8.1.13 | Mysql 8.0.31 | PhpMyAdmin 5.2.0 | Netbeans IDE 18
Après une quinzaine de jours j'ai enfin réussi à trouver le temps de passer mon Wamp à la version 3.3.6 et de faire passer mes VHost en SSL.
Cependant, mon problème persiste.
Je pense vraiment que le problème vient des droits Windows car c'est un script PHP qui pose problème.
Voici le script en question : [github.com] à la ligne 78.
Je pourrais aisément me dépatouiller en modifiant ce script en shuntant ce contrôle seulement ce n'est pas propre du tout. Je vais donc essayé de trouver une solution de meilleure facture et comme ce forum n'est pas destiné au développement, je vais passer mon chemin.
Compte tenue de la situation d'Otomatic, j'ai hésité à poster ma réponse. Mais bon, il fallait clôturer ce sujet.
Merci encore pour votre aide.
Cordialement, Fred
--------------------------- Je réédite ce message car, pour ceux que çà intéresse, voici la réponse à mon problème : [github.com] ---------------------------
Ma config : Windows 10 (x64) | Wamp 3.3.6 (x64) | Apache 2.4.54.2 | Php 8.1.13 | Mysql 8.0.31 | PhpMyAdmin 5.2.0 | Netbeans IDE 18
Modifie 1 fois. Derniere modification le 25/09/2024 à 09:54 par Fred24.
Citation fred24 Ce que je souhaiterais c'est pouvoir mettre des fichiers lisible en CHMOD 600 par wamp afin de me permettre de travailler en local. (par ex : private.key ou des .pem)
La commande CHMOD est réservée aux machines LINUX. Il y a un équivalent sous windows pour modifier les autorisations d'accès aux fichiers. Tu dis que tu rencontres un problème quand tu veux travailler en local. Je ne comprends pas ce que tu entends par travailler en local. Normalement, quand tu développes un site WEB, tu travailles déjà en local et donc tu peux, créer modifier ou supprimer tes fichiers.
WampServer est fait pour être utilisé sous Windows, pas sous Linux. Je peux me tromper mais votre API oauth2, n'est-il pas plutôt destiné à LINUX ?
---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mon site : [www.jcz.fr]
Bonjour Artemus24, Excuse moi je n'avais pas vu ton message.
Oui, je suis bien en Dordogne, tout comme toi .
Une API OAuth2 est une simple interface permettant aux machines de communiquer entre elles à travers le réseau Internet. Si cela t'intéresse ce tuto est plutôt bien fait : [zestedesavoir.com] Pour des raisons de sécurité, une API OAuth2 doit obligatoirement fonctionner sous https. C'est pourquoi, les packages PHP d'API OAth2 contrôle l'existence et la sécurité des certificats utilisés avant chaque transaction.
Effectivement, compte tenue du fait que plus de 90% des serveurs web sont sous linux, les packages php OAuth2 se sont plutôt focalisés sur ce type d'os. D'où, une vérification du CHMOD.
Comme tu l'as dit, j'ai tous les droits sur mes fichiers. J'ai donc tout d'abord cherché à modifier mes fichiers certificats afin d'avoir les droits nécessaires pour passer ce contrôle mais en vain. (Comme par exemple ceci : [stackoverflow.com]) Mais impossible d'obtenir un équivalent linux CHMOD 600.
La solution retenue, est de faire un contrôle de l'OS et de l'environnement afin d'esquiver ce contrôle. Voir ce post : [github.com] Solution qui, entre nous, ne me convient pas mais qui me permet d'avancer.
Voilà, merci d'avoir pris du temps. Au plaisir de te rencontrer. Fred
Ma config : Windows 10 (x64) | Wamp 3.3.6 (x64) | Apache 2.4.54.2 | Php 8.1.13 | Mysql 8.0.31 | PhpMyAdmin 5.2.0 | Netbeans IDE 18
Merci pour ton implication mais la fonction chmod() ne fonctionne pas non plus sous windows. La fonction ne renvoie aucune erreur (soit true) mais ne modifie pas pour autant les droits d'accès au fichier.
Et oui, le résultat de $perms = decoct(fileperms($path_vers_ma_privateKey) & 0777); renvoi toujours 666.
En lisant la documentation sur la fonction [www.php.net], j'ai pu lire ceci : "Sous Windows, le bit de la permission d'écriture est définit en fonction de l'attribut lecture seule du fichier, et la même valeur est rapporté pour tout les utilisateurs, groupe, et propriétaire. L'ACL n'est pas pris en compte, contrairement à is_writable()."
Par conséquent, je vais devoir adapter mon code afin de pouvoir faire fonctionner mon API.
Si toutefois, je trouve une solution élégante, je viendrais la poster ici.
A bientôt, Fred
Ma config : Windows 10 (x64) | Wamp 3.3.6 (x64) | Apache 2.4.54.2 | Php 8.1.13 | Mysql 8.0.31 | PhpMyAdmin 5.2.0 | Netbeans IDE 18