Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PHP 5 serveur Apache mode Safe Mode active.. .

5 réponses
Avatar
Jean-Francois Ortolo
Bonsoir

Testé sur mon ordinateur sous Linux Fedora Core 4, avec Apache 2.0 et
PHP 5.0.4.

Donc, j'ai positionné le Safe Mode à On dans le fichier /etc/php.ini
, ce qui est confirmé par le résultat de cette bonne vieille fonction
phpinfo(); Evidemment, mysqld et httpd redémarrés.

...Et cependant, je n'ai eu aucun mal à exécuter mon site web en
local, avec le serveur httpd actif, en mode web évidemment, et sur des
scripts PHP qui ouvraient allégremment des fichiers non-existants
directement avec fopen. Théoriquement le Safe Mode ne le permet pas...

Evidemment, PHP est compilé et configuré comme module, pas comme
SuExec. Les fichiers créés ont bien comme gid/uid: apache/apache.

J'avias supprimé tous les fichiers temporaires existants, avant de
lancer mes scripts PHP.

Où va-t-on si je ne peux même plus tester l'adaptation de mon site
web, au Safe Mode ?

Merci beaucoup de me dire ce qui cloche.

Bien à vous.

Amicalement.

Jean-François

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com

5 réponses

Avatar
loufoque

Où va-t-on si je ne peux même plus tester l'adaptation de mon site
web, au Safe Mode ?


Je crois que le safe mode ne fait qu'empêcher d'ouvrir des fichiers ou
de lister des repertoires dont le propriétaire n'est pas le même que
celui du script.

Avatar
Jean-Francois Ortolo
loufoque wrote:

Où va-t-on si je ne peux même plus tester l'adaptation de mon site
web, au Safe Mode ?



Je crois que le safe mode ne fait qu'empêcher d'ouvrir des fichiers ou
de lister des repertoires dont le propriétaire n'est pas le même que
celui du script.



Bonjour Monsieur

Et pourtant...

if(!($fp = @opendir('.', "r"))) // "r" existe-t-il ? Je ne sais plus.
{ // Message d'erreur
die("");
}
// suite du programme,
// lecture du repertoire...

// allégremment, ça marche.

Pas d'erreur à l'ouverture du répertoire courant,
qui a pour gid/uid: root/root

D'après les gid/uid des fichiers créés, le gid/uid du script est
bien: apache/apache, donc différent de root:root. Et le Safe Mode est à
On , ce qui est confirmé par le contenu de la fonction phpinfo().

Il est vrai que je n'ai pas vérifié, si la lecture du contenu du
répertoire courant se fait bien ( Je met des @ avant toutes fonctions ),
mais tu ne vas pas me dire, qu'il est possible d'ouvrir un répertoire en
lecture, sans qu'il soit possible d'en lire le contenu ?

Je vais vérifier la lecture très prochainement, et reviendrai tantôt.

Bien à vous.

Amicalement.

Jean-François

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com


Avatar
Jean-Francois Ortolo
Jean-Francois Ortolo wrote:

Il est vrai que je n'ai pas vérifié, si la lecture du contenu du
répertoire courant se fait bien ( Je met des @ avant toutes fonctions ),
mais tu ne vas pas me dire, qu'il est possible d'ouvrir un répertoire en
lecture, sans qu'il soit possible d'en lire le contenu ?

Je vais vérifier la lecture très prochainement, et reviendrai tantôt.



Tout à fait.

La lecture du contenu du répertoire courant se fait, sans aucun problème.

Et pourtant, la Safe Mode est à On.

Les mystères de l'Ouest... de PHP... et d'Apache.

Bizarre, non ?

Amicalement.

Jean-François

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com

Avatar
Paul Delannoy
Jean-Francois Ortolo a écrit:
Bonsoir

Testé sur mon ordinateur sous Linux Fedora Core 4, avec Apache 2.0 et
PHP 5.0.4.

Donc, j'ai positionné le Safe Mode à On dans le fichier /etc/php.ini ,
ce qui est confirmé par le résultat de cette bonne vieille fonction
phpinfo(); Evidemment, mysqld et httpd redémarrés.

...Et cependant, je n'ai eu aucun mal à exécuter mon site web en
local,
J'avais rencontré des pbs similaires en testant "localement" des scripts

Perl. Il semble que si tu "attaques" Apache à partir de sa propre IP,
son comportement *n'est pas* le même que si tu es sur une autre machine
(donc une autre IP, locale ou externe).. J'eqça

Avatar
Jean-Francois Ortolo
Paul Delannoy wrote:
Jean-Francois Ortolo a écrit:

Bonsoir

Testé sur mon ordinateur sous Linux Fedora Core 4, avec Apache 2.0
et PHP 5.0.4.

Donc, j'ai positionné le Safe Mode à On dans le fichier /etc/php.ini
, ce qui est confirmé par le résultat de cette bonne vieille fonction
phpinfo(); Evidemment, mysqld et httpd redémarrés.

...Et cependant, je n'ai eu aucun mal à exécuter mon site web en local,


J'avais rencontré des pbs similaires en testant "localement" des scripts
Perl. Il semble que si tu "attaques" Apache à partir de sa propre IP,
son comportement *n'est pas* le même que si tu es sur une autre machine
(donc une autre IP, locale ou externe).. J'eqça



Merci beaucoup de votre réponse

Cependant, il faut remarquer, que j'ai été obligé d'indiquer comme
ServerName dans /etc/httpd/conf/httpd.conf , la valeur suivante:
localhost.localdomain , qui correspond évidemment à l'adresse ip: 127.0.0.1

A part çà, mon ordinateur a pour url: ortolo.jeanfrancois.free.fr ,
avec comme adresse ip, une adresse ip privée 192.168.0.1 de mon ( très
petit ) réseau local, puisque mon ordi est tout seul derrière un switch,
et ma FreeBox se comporte comme un routeur.

Je n'ai pas pu donner comme valeur ServerName , celle-ci:
ortolo.jeanfrancois.free.fr , curieusement depuis la mise à jour de mon
serveur Apache ( ainsi que PHP à 5.0.2 ), à la version 2.0.54. Quand
j'essaye de lui donner cette valeur, il devient impossible pour moi, de
me connecter à mon site local. Dans le cas contraire, ça marche.

Cette histoire d'adresse ip, c'est bizarre. On pourrait penser, que
pour qu'il y ait une connexion tcp/ip, il faille un couple de deux
adresses ip *et* deux ports différents, dont l'un serveur à 80, et
l'autre à plus de 1024. Pour les ports c'est bon, et pour les adresses
ip, d'après le contenu de la fonction phpinfo() l'adresse ip du serveur
est bien: 127.0.0.1, et l'adresse remote ( du client donc ), est aussi:
127.0.0.1, ce qui me semble bizarre.

Je vais tester avec une autre configuration du fichier /etc/hosts,
pour vois s'il serait possible d'avoir comme adresse ip remote, mon
adresse ip privée: 192.168.0.1. Histoire de voir si celà change quelque
chose.

Merci beaucoup de votre réponse.

Jean-François

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com