Spesso, installando php con l'apt-get di Debian si ottiene una versione dell'interprete con già applicata la patch Suhosin (http://www.hardened-php.net/suhosin/), ottima per migliorare la sicurezza del server. Lo si può verificare dal phpinfo(). Lo scopo di questa patch è quello di prevenire gli attacchi ti tipo buffer overflow imponendo un limite, ad esempio, al numero di variabili che possono essere passate in POST (in questo caso il limite è impostato a 200 variabili). Nel qualcaso i limiti vengano superati Suhosin tronca il valore e memorizza l'errore nel syslog.
Se installiamo un numero medio di moduli per un sito Drupal complesso la pagina di gestione dei permessi supera abbondantemente le 200 variabili; quello che succede in questo caso è che Suhosin tronca l'elenco senza riportare (nei posti dove è più lecito cercare, php.log, apache.log) nessuna notifica. Dato che le variabili che consentono a Drupal il corretto funzionamento del form (op, token_id, build_id, form_id) sono in fondo, queste non arriveranno mai allo script e il form non verrà mai salvato (senza motivo apparente).
Si rende di conseguenza necessario impostare nel php.ini un valore per
- suhosin.post.max_vars
- suhosin.request.max_vars
Superiore almeno al numero delle voci nella pagina dei permessi più 4 (le variabili hidden)
Per maggiori informazioni su come configurare Suhosin per Drupal possono essere trovate qua


