Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Web » PHP / ASP » PHP et shared memory

Francesco
Modérateur
Citer Windows NT Firefox 3 - Posté le 25/01/2009 à 23:24
Bonsoir à tous,

J'ai une petite question qui me taraude l'esprit, et je voudrais avoir votre avis, notamment des habitués et des professionnels de l'hébergement web (héhé)

J'ai un hébergement perso sur lequel est disponible les fonctions de gestion de mémoire partagée (shmop_open & co.). J'aimerais bien utiliser ce genre de variable pour faire un système de mise en cache afin de booster un peu l'affichage.

Mon souci, c'est que la mémoire partagée est... partagée ! Je veux dire, le but premier de la mémoire partagée est de permettre à plusieurs processus de communiquer ensemble en passant par la mémoire et en oubliant les fichiers.

Mais comme j'ai un hébergement perso et pas un serveur dédié, n'importe quel processus situé sur le serveur où se trouve mon hébergement peut accéder, en théorie, au contenu de ce que je mets dans la mémoire partagée ? Et donc, par extension, n'importe qui possédant un espace sur le même serveur que le mien pourrait accéder à mes données partagées. Ce qui est, à mon sens, une énorme faille de sécurité potentielle.

Donc, si tel est bien le cas, est-il normal que ces fonctions soient activées ?

En espérant avoir été assez clair ^^
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Francesco
Modérateur
RemonterCiter Windows NT Firefox 3 - Posté le 25/01/2009 à 23:30
Bon, j'apporte un petit complément. En farfouillant encore plus profodement dans la FAQ que je ne l'avais fait, j'ai trouvé un élément qui, je pense, est intéressant.

Il est indiqué que le PHP sur leur serveur est lancé en tant que script CGI et non en tant que module apache. Ainsi, est-il possible que lorsque quelqu'un affiche une page de mon site, le cgi soit exécuté avec un uid me correspondant, et non celui d'apache ou un uid propre à php ?

Car si tel est le cas, chaque instance de script php tournant sur le serveur a un uid qui correspond à l'herbgement, et je pense, mais il faut que je vérifie, que la mémoire partagée ne l'est que pour les processus d'un même utilisateur, et donc qu'un script de B ne puisse pas farfouiller la mémoire partagée d'un script de A.

Des avis ?

[edit]
En fait, les segments de mémoire partagées le sont pour tout le monde ! Mais, heureusement, il est possible de mettre des droits à cette mémoire, comme pour les fichier unix. Vive le 600 !

Donc, reste la question : pensez-vous que les différentes instances de l'interpréteur php ait un uid correspondant pour chaque site ??
[/edit]

Edité par Francesco ( 25/01/2009 23:45:03 )
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Freem
Modérateur
RemonterCiter Windows XP Firefox 3 - Posté le 15/02/2009 à 05:55
Je suppose que l'uid change pour chaque site, mais je n'ai aucun moyen d'en être sûr... j'y connaît rien en php ^^ (je lis juste un peu tous les topic pour me remettre à jour, ça fait tellement longtemps que je suis pas passé ici...)
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2012 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,047 s - Crédits - Stats
1 connecté