Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 30/09/2007, 20h29   #1
Membre émérite
 
Inscription: mai 2004
Messages: 792
Par défaut phpmyadmin : Aucun enregistrement n'a été sélectionné

bonsoir

je modifie des enregistrements d'une table par l'intermediaire de phpmyadmin
certains champs se modifient sans problème , pour d'autre j'ai ce message

Aucun enregistrement n'a été sélectionné

et effectivement , je ne parviens ,ni a modifier ,ni a supprimer un champ

j'ai pensé a un problème de droits , mais l'utilisateur qui possede les droits sur le dossier phpmyadmin est mysql:mysql
le meme qui lance le serveur mysql

dans mes logs j'ai ceci

Sep 30 20:28:18 localhost suhosin[5016]: ALERT - configured request variable total name length limit exceeded - dropped variable 'rows_to_delete

merci pour votre aide
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2007, 20h54   #2
Rédacteur
 
Inscription: juin 2002
Messages: 5 931
Envoyer un message via Skype™ à julp
Il faut revoir votre configuration de PHP et plus particulièrement celle de l'extension Suhosin car les limites imposées semblent trop restrictives pour phpMyAdmin au niveau de la partie query string.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas).

[Général] "Ça ne marche pas" n'est pas une réponse acceptable.
[PHP] Développez avec error_reporting à E_ALL (minimum).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2007, 21h03   #3
Membre émérite
 
Inscription: mai 2004
Messages: 792
merci pour votre prompte reponse

j'utilise mandriva , et ayant installé mes paquets par rpm , je n'ai pas eu
connaissance de cette extension suhosin

je me suis donc rendu dans mon php.ini
et j'ai augmenté certaines valeurs sans trouver le mot clé suhosin
il y a t'il des valeurs a augmenter , ou bien d'autres variables a modifier ?
(j'ai ensuite relancé le serveur apache et mysql/Php)

les voici :

hphp.request.max_vars = 200

; Limits the length of variable names (without indices)
hphp.request.max_varname_length = 80

; Limits the length of complete variable names (with indices)
hphp.request.max_totalname_length = 500

; Limits the length of array indices
hphp.request.max_array_index_length = 80

; Limits the depth of arrays
hphp.request.max_array_depth = 100

; Limits the length of variable values
hphp.request.max_value_length = 65000

; Disallow ASCII-NUL characters in input
hphp.request.disallow_nul = 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Hardening-Patch's COOKIE variable filters ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Limits the number of COOKIE variables
hphp.cookie.max_vars = 100

; Limits the length of variable names (without indices)
hphp.cookie.max_name_length = 80

; Limits the length of complete variable names (with indices)
hphp.cookie.max_totalname_length = 500

; Limits the length of array indices
hphp.cookie.max_array_index_length = 80

; Limits the depth of arrays
hphp.cookie.max_array_depth = 100

; Limits the length of variable values
hphp.cookie.max_value_length = 10000

; Disallow ASCII-NUL characters in input
hphp.cookie.disallow_nul = 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Hardening-Patch's GET variable filters ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Limits the number of COOKIE variables
hphp.get.max_vars = 100

; Limits the length of variable names (without indices)
hphp.get.max_name_length = 80

; Limits the length of complete variable names (with indices)
hphp.get.max_totalname_length = 500

; Limits the length of array indices
hphp.get.max_array_index_length = 80

; Limits the depth of arrays
hphp.get.max_array_depth = 80

; Limits the length of variable values
hphp.get.max_value_length = 512

; Disallow ASCII-NUL characters in input
hphp.get.disallow_nul = 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Hardening-Patch's POST variable filters ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Limits the number of POST variables
hphp.post.max_vars = 200

; Limits the length of variable names (without indices)
hphp.post.max_name_length = 80

; Limits the length of complete variable names (with indices)
hphp.post.max_totalname_length = 500

; Limits the length of array indices
hphp.post.max_array_index_length = 80

; Limits the depth of arrays
hphp.post.max_array_depth = 100

; Limits the length of variable values
hphp.post.max_value_length = 65000

; Disallow ASCII-NUL characters in input
hphp.post.disallow_nul = 1
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2007, 21h47   #4
Rédacteur
 
Inscription: juin 2002
Messages: 5 931
Envoyer un message via Skype™ à julp
Il faudrait comparer par rapport à l'URL complète de phpMyAdmin lorsque l'erreur survient mais c'est visiblement de cette directive qu'elle provient :
Code :
hphp.request.max_totalname_length = 500
(il est possible que d'autres en jeu par la suite)

La valeur nulle devrait désactiver son effet. Mais vu que l'extension suhosin peut engendrer des contraintes très fortes vous devriez éventuellement la désactiver si elle est compilée sous forme dynamique (donc chargée) voir partir d'une configuration permissive.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas).

[Général] "Ça ne marche pas" n'est pas une réponse acceptable.
[PHP] Développez avec error_reporting à E_ALL (minimum).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 06h10   #5
Membre émérite
 
Inscription: mai 2004
Messages: 792
Citation:
Il faudrait comparer par rapport à l'URL complète de phpMyAdmin lorsque l'erreur survient mais c'est visiblement de cette directive qu'elle provient :
Code :

hphp.request.max_totalname_length = 500

(il est possible que d'autres en jeu par la suite)
helas cela ne suffit pas
hphp.request.max_totalname_length =
donne le meme resultat (dans les logs et dans la table)

je vais donc essayer de mettre une valeur nulle a toutes les variables
suhosin mais j'ai vu dans /etc/php.d/
ceci Z99_suhosin.ini : peut être est-ce ici qu'il faut faire des modifs


La valeur nulle devrait désactiver son effet. Mais vu que l'extension suhosin peut engendrer des contraintes très fortes vous devriez éventuellement la désactiver si elle est compilée sous forme dynamique (donc chargée) voir partir d'une configuration permissive.


pas possible
urpme php-suhosin
Pour satisfaire les dépendances, les 21 paquetages suivants vont être désinstallés (7 Mo):
et je perd donc php , a moins de le recompiler (ce que je ne souhaite pas)
ou de desinstaller avec --force

__________________
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 11h02   #6
Rédacteur
 
Inscription: juin 2002
Messages: 5 931
Envoyer un message via Skype™ à julp
Citation:
Envoyé par deny
je vais donc essayer de mettre une valeur nulle a toutes les variables
suhosin mais j'ai vu dans /etc/php.d/
ceci Z99_suhosin.ini : peut être est-ce ici qu'il faut faire des modifs
Si les valeurs sont inchangés par rapport à ce que vous avez modifié c'est tout à fait possible. Cependant, tous les fichiers de configuration lus et chargés par PHP apparaissent lors d'un phpinfo (premier tableau).

Citation:
Envoyé par deny
pas possible
urpme php-suhosin
Pour satisfaire les dépendances, les 21 paquetages suivants vont être désinstallés (7 Mo):
et je perd donc php , a moins de le recompiler (ce que je ne souhaite pas)
ou de desinstaller avec --force
Oubliez et à moins de me dire le contraire, HP ne consiste qu'en un patch, il ne fonctionnait pas encore sous la forme d'une extension

Note : phpMyAdmin est connu pour avoir quelques dysfonctionnements suivant la configution de HP.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas).

[Général] "Ça ne marche pas" n'est pas une réponse acceptable.
[PHP] Développez avec error_reporting à E_ALL (minimum).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 13h51   #7
Membre émérite
 
Inscription: mai 2004
Messages: 792
Citation:
Oubliez et à moins de me dire le contraire, HP ne consiste qu'en un patch, il ne fonctionnait pas encore sous la forme d'une extension

HP ? voulez-vous dire php ?
quoiqu'il en soit dans mon phpinfo
suhosin apparait clairement en tant qu'extension

suhosin
Suhosin logo This server is protected with the Suhosin Extension 0.9.18
Copyright (c) 2006 Hardened-PHP Project

je vais donc remodifier la variable total length et verifier via phpinfo
si les valeurs ont été prises en compte
cela se passe dans php.ini , puisque le contenu du fichier Z99_suhosin.ini est
en grisé , hormis une ligne qui n'a rien a voir avec le probleme

a suivre
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 14h05   #8
Rédacteur
 
Inscription: juin 2002
Messages: 5 931
Envoyer un message via Skype™ à julp
Par HP je faisais référence à Hardened(-PHP) Project.

Si l'extension suhosin est présente et compilée sous forme dynamique (ie non intégrée à PHP, sous la forme d'un fichier .so à part) alors elle peut être simplement désactivée en ne la chargeant pas, c'est à dire en commentant la ligne extension= correspondante.

Citation:
Envoyé par deny
cela se passe dans php.ini , puisque le contenu du fichier Z99_suhosin.ini est
en grisé , hormis une ligne qui n'a rien a voir avec le probleme
Si Z99_suhosin.ini apparaît (ligne additional .ini files parsed si je ne m'abuse) c'est qu'il est (aussi) lu et pris en compte.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas).

[Général] "Ça ne marche pas" n'est pas une réponse acceptable.
[PHP] Développez avec error_reporting à E_ALL (minimum).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 15h02   #9
Membre émérite
 
Inscription: mai 2004
Messages: 792
Citation:
Par HP je faisais référence à Hardened(-PHP) Project.

Si l'extension suhosin est présente et compilée sous forme dynamique (ie non intégrée à PHP, sous la forme d'un fichier .so à part) alors elle peut être simplement désactivée en ne la chargeant pas, c'est à dire en commentant la ligne extension= correspondante.
helas je crains que cela ne soit pas le cas
pas d'extension suhosin dans mon httpd.conf
cela m'a l'air d'être un patch plutot qu'une extension
d'autre part quand je modifie des directives suhosin dans php.ini
comme par exemple :
; Limits the length of complete variable names (with indices)
hphp.request.max_totalname_length = 5000

eh bien ce n'est pas pris en compte dans phpinfo
meme apres relance du serveur apache/php/Mysql

service httpd restart
service mysqld restart

bizarre ?
ou regarder alors ?



Citation:
Si Z99_suhosin.ini apparaît (ligne additional .ini files parsed si je ne m'abuse) c'est qu'il est (aussi) lu et pris en compte.
oui , il est pris en compte
mais l'ensemble de ses directives me semblent être incluse dans php.ini

voici un extrait de ce fichier qui corrobore ces commentaires :
(TOUT est grisé)

; Defines the maximum length of the total variable name when registered through
; the URL. For array variables this includes all indices.
;suhosin.get.max_totalname_length = 1256

; Defines the maximum length of a variable that is registered through the URL.
;suhosin.get.max_value_length = 512
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 15h24   #10
Membre émérite
 
Inscription: mai 2004
Messages: 792
Par défaut RESOLU

en cherchant un peu plus , il apparait qu'en decommentant les lignes
suhosin.get.max_totalname_length = 1256
suhosin.post.max_totalname_length = 1256
suhosin.request.max_value_length = 65000

dans Z99_suhosin.ini
ces modifs seront prises en compte dans mon phpinfo et donc par le serveur


toutefois cela ne change rien a l'affaire
selon mes logs :
Oct 1 15:08:44 localhost suhosin[21359]: ALERT - configured request variable total name length limit exceeded -

donc il va me falloir augmenter la valeur suhosin.get.max_totalname_length et suhosin.post.max_totalname
ou bien chercher une autre valeur a modifier

voici ce que j'essaie alors :

suhosin.cookie.max_totalname_length = 5000
suhosin.get.max_totalname_length = 5000
suhosin.post.max_totalname_length = 5000
suhosin.request.max_totalname_length = 5000

relance du serveur lamp
verifs des modifs dans phpinfo :ok
modifications des tables : tout baigne !!!!

merci developpeur.com et surtout julp en l'occurrence
reste à chipoter un peu et à savoir a partir de quelle valeur la securité du serveur est mise en cause , mais ceci est une autre histoire
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 17h00   #11
Rédacteur
 
Inscription: juin 2002
Messages: 5 931
Envoyer un message via Skype™ à julp
J'arrive un peu après la bataille mais :

Citation:
Envoyé par deny
pas d'extension suhosin dans mon httpd.conf
cela m'a l'air d'être un patch plutot qu'une extension
S'il s'agit bien d'une extension PHP (tout du moins en partie) elle apparaîtra dans un des fichiers .ini de configuration de PHP. Il ne faut pas la chercher au niveau de la configuration du serveur Apache

Citation:
Envoyé par deny
d'autre part quand je modifie des directives suhosin dans php.ini
comme par exemple :
; Limits the length of complete variable names (with indices)
hphp.request.max_totalname_length = 5000

eh bien ce n'est pas pris en compte dans phpinfo
meme apres relance du serveur apache/php/Mysql
Il faut modifier le bon (indiqué dans le phpinfo, ligne Loaded Configuration File) : il n'est pas rare d'en avoir plusieurs notamment si l'interpréteur de commande (CLI) est également installé. De plus, dans votre cas il y a probablement une priorité des fichiers de configuration à prendre en compte : le fichier php.ini est d'abord lu puis les fichiers .ini additionnels (placés dans le répertoire indiqué par Scan this dir for additional .ini files) dans un certain ordre donc il peut y avoir écrasement des valeurs sur certains paramètres.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas).

[Général] "Ça ne marche pas" n'est pas une réponse acceptable.
[PHP] Développez avec error_reporting à E_ALL (minimum).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 13h50   #12
Nouveau membre du Club
 
Inscription: novembre 2006
Messages: 72
Par défaut désactiver suhosin

Pour résumer ce qu'a dit julp, vous pouvez désactiver suhosin en commentant l'inclusion de cette extension.
Pour ma part cette inclusion est située dans le fichier /etc/php5/conf.d/suhosin.ini

Trouvez la ligne :
Code :
extension = suhosin.so
Et commentez la :
Code :
;extension = suhosin.so
Redémarrez votre Apache, et vous ne serez plus bridé avec les restrictions du module suhosin.
sjachym est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h41.


Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.