× Les solutions aux failles de Joomla - Signaler une faille concernant Joomla ou ses extensions.
L'accès au support pour les sites piratés est désormais uniquement réservé aux membres connectés

Question Utiliser un php.ini

Plus d'informations
16 Sep 2006 21:20 #1 par lavsteph
Utiliser un php.ini a été créé par lavsteph
Les paramètres PHP sont liés à votre serveur et se règlent dans le fichier php.ini ou éventuellement à l'aide d'un fichier .htaccess ou d'un script PHP si vous n'avez pas accès à la configuration de votre serveur (cas des hébergements mutualisés)

Application de ce post forum.joomlafacile.com/showpost.php?p=76006&postcount=7
1. Créer un fichier php.ini contenant ce code
register_globals = Off

2. Copier le php.ini à la racine de son serveur
3. "chmoder" le php.ini en 0600
4. créer un fichier copier_ini.php qui va nous servir à copier le php.ini à l'intérieur de tous les répertoires et sous répertoires de notre site dont voici le code :
<!--- - Start Script Here - --->
<?php
// set this value to Y if you only want to overwrite old php.ini files
// set this value to N if you want to put a php.ini file in every directory
$overwriteOnly = "N"; /*N pour copier le php.ini dans tous les répertoires*/
/*Y pour SEULEMENT écraser les php.ini existants*/
if ($overwriteOnly == "Y") echo "Operating in Overwrite Only Mode<br><br>";
$path = "AAAAAAAAAA"; /*personaliser en fonction du path de son serveur cf son fichier configuration.php ($mosConfig_absolute_path)*/
$source = $path . "/php.ini";
if (!file_exists($source)) die('Error - no source php.ini file');
function search($dir) {
global $source;
global $overwriteOnly;
$dh = opendir($dir);
while (($filename = readdir($dh)) !== false) {
if ( $filename !== '.' AND $filename !== '..' AND $filename !== 'cgi-bin' AND is_dir("$dir/$filename") ) {
$path = $dir."/".$filename;
$target = $path . "/php.ini";
if (!file_exists($target) AND $overwriteOnly == "Y") {
echo "$path <b>skipped - no php.ini file</b><br>";
} else {
echo "$target <br>";
if (!copy($source,$target)) echo "<b>Write failed for $target </b><br>";
if (file_exists($target)) chmod($target,0600);
}
search($path);
}
}
closedir($dh);
}
search($path);
echo "<br>Done.";
?>
<!--- - End Script Here - --->

il n'y a qu'une chose à modifier dans ce script : AAAAAAAAAA, vous remplacez ça par ce que vous trouverez dans votre fichier configuration.php dans la variable $mosConfig_absolute_path = 'blablablablabla'; bref vous mettez blablablablabla

5. Mettre copier_ini.php dans le répertoire racine de votre site
6. Exécuter copier_ini.php (en l'appelant via votre navigateur internet exemple : www.votresite.com/copier_ini.php ), cela va copier php.ini dans tous vos répertoires
7. Retirer votre script copier_ini.php de votre serveur (pour éviter que quelqu'un d'autre ne s'en serve)

Voilà vous avez maintenant register_globals à off.

Voici un autre script pour retirer tous les fichiers php.ini de vos répertoires (au cas où...)
<!--- - Start Script Here - --->
<?php
// this script will delete all your php.ini files
$path = "AAAAAAAAAA"; /*personaliser en fonction du path de son serveur cf son fichier configuration.php ($mosConfig_absolute_path)*/
function search($dir) {
$dh = opendir($dir);
while (($filename = readdir($dh)) !== false) {
if ( $filename !== '.' AND $filename !== '..' AND $filename !== 'cgi-bin' AND is_dir("$dir/$filename") ) {
$path = $dir."/".$filename;
$target = $path . "/php.ini";
if (file_exists($target)) {
echo "Deleting - $target <br>";
if (!unlink($target)) echo "<b>Delete failed for $target </b><br>";
}
search($path);
}
}
closedir($dh);
}
$target = $path . "/php.ini";
if (file_exists($target)) {
echo "Deleting - $target <br>";
if (!unlink($target)) echo "<b>Delete failed for $target </b><br>";
}
search($path);
echo "<br>Done.";
?>
<!--- - End Script Here - - -->


même principe que pour copier_ini.php
remplacer AAAAAAAAAA...
l'appeler supprimer_ini.php
uploader
exécuter
retirer du serveur


Note : Si vous installez de nouveau composant il faudra veiller à ce que les nouveaux répertoires qui seront créés contiennent php.ini
(faites un coup de supprimer_ini.php puis un coup de copier_ini.php )

Connectez-vous ou Créer un compte pour participer à la conversation.

  • jdb
  • Portrait de jdb
  • Visiteur
  • Visiteur
23 Sep 2006 06:37 #2 par jdb
Réponse de jdb sur le sujet Re : Utiliser un php.ini
Bonjour,

J'ai lu que pour des raisons de sécurité il fallait mettre RG_EMULATION sur 0 dans globals.php
Mais justement je l'ai mis sur 1 car sinon je ne peux pas poster de message dans joomlaboard( dernière version). Pour l'instant, pas de souci de sécurité, car mon site est en cours de gestation en local, mais qd je vais le mettre en ligne, comment faire ?
Merci d'avance

Connectez-vous ou Créer un compte pour participer à la conversation.

Plus d'informations
25 Sep 2006 09:32 #3 par lavsteph
Réponse de lavsteph sur le sujet Re : Utiliser un php.ini
Bonjour,

Je pense que la soultion se trouve surement là : forum.joomla.org/index.php/topic,86525.msg441456.html#msg441456

en attendant qu'une nouvelle version de joomlaboard arrive. :cligne:

Connectez-vous ou Créer un compte pour participer à la conversation.

Plus d'informations
01 Nov 2006 09:54 #4 par toutsi
Réponse de toutsi sur le sujet Re : Utiliser un php.ini
Opware2000 a une solution toute simple & efficace pour régler ce problème.
Ca marche avec le serveur de 1and1 où l'émulation est sur On et où l'on ne peut modifier le .htacces du serveur.
Post : forum.joomlafacile.com/showthread.php?p=95922#post95922
Ajouter : AddType x-mapp-php5 .php dans le .htacces

Toutsi

Connectez-vous ou Créer un compte pour participer à la conversation.

Plus d'informations
24 Sep 2007 22:45 #5 par userweb
Réponse de userweb sur le sujet Re : Utiliser un php.ini
bonsoir

en ce qui concerne la mise en oeuvre du .htaccess, par rapport à ce qui est proposé ici, et celle là forum.joomlafacile.com/showthread.php?t=15787 .

Laquelle est la meilleure dans le rapport mise en ouvre/sécurité.
la plus simple, efficace et sécurisant, au regard des expériences acquises ?

merci
gilbert :cligne:

Connectez-vous ou Créer un compte pour participer à la conversation.

Plus d'informations
25 Sep 2007 00:28 #6 par lavsteph
Réponse de lavsteph sur le sujet Re : Utiliser un php.ini
Bonsoir,

tout dépend des hébergeurs, mais celle de nos confrères est plus simple à mettre en oeuvre. :cligne:

Connectez-vous ou Créer un compte pour participer à la conversation.

  • Vous ne pouvez pas: Créer un nouveau sujet.
  • Vous ne pouvez pas: Répondre au sujet.
  • Vous ne pouvez pas: Éditer votre message.
Modérateurs: lavstephxillibittramber91Scottuxsergestarter
Temps de génération de la page : 0.334 secondes